XL 2016 Executer une macro sans l’arrêter et travailler sur d'autre fichier Excel

Brownie

XLDnaute Nouveau
Bonjour,
J'execute une macro toutes les secondes, mais quand j'ouvre un autre fichier ma macro s'arrete.
Merci d'avance pour vos lumières

VB:
Option Explicit
    Dim RunTimer  As Date

Sub CopyAndPaste()
    RunTimer = Now + TimeValue("00:00:01")
    Application.OnTime RunTimer, "CopyAndPaste"
    '
    ' Copy And Paste Macro
    '
    Sheets("Data").Range("A3:BA3").Select
    Selection.Insert Shift:=xlDown
    Sheets("Data").Range("A2:BA2").Copy
    Sheets("Data").Range("A3").PasteSpecial xlPasteValuesAndNumberFormats
End Sub

Sub StopTheMacro()
    Application.OnTime RunTimer, "CopyAndPaste", , False
    MsgBox "The macro stopped"
End Sub

Sub StartTheMacro()
    Application.OnTime RunTimer, "CopyAndPaste", , True
    MsgBox "The macro started"
End Sub
 
Solution
Bonjour Brownie,
Parce que quand vous ouvrez un nouveau fichier le fichier actif est celui que vous venez d'ouvrir.
Et donc la macro cherche la sheet "Data" qui n'existe pas.
Il faut donc preciser le chemin complet.
En PJ un exemple que j'ai un tantinet remanié mais en conservant votre structure.
( la ligne A1=A1+1 n'est que pour vérifier que ça marche toujours, ne sert à rien )

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Brownie,
Parce que quand vous ouvrez un nouveau fichier le fichier actif est celui que vous venez d'ouvrir.
Et donc la macro cherche la sheet "Data" qui n'existe pas.
Il faut donc preciser le chemin complet.
En PJ un exemple que j'ai un tantinet remanié mais en conservant votre structure.
( la ligne A1=A1+1 n'est que pour vérifier que ça marche toujours, ne sert à rien )
 

Pièces jointes

  • Timer.xlsm
    14.8 KB · Affichages: 10

sylvanu

XLDnaute Barbatruc
Supporter XLD
Ah, au fait.
Si vous avez besoin de travailler sur un autre fichier XL qui n'a rien à voir avec le premier, alors il vaut mieux ouvrir une deuxième session XL.
Vous cliquer de nouveau sur l'icone Excel et vous serez dans une seconde session. C'est à dire un deuxième XL totalement indépendant du premier, donc moins perturbateur.
On voit les deux sessions XL dans la gestionnaire des taches ( ALT CRTL SUP ) :

22.jpg

Qui plus est, il y a de fortes chances qu'il tourne sur un second coeur, d'où un gain global en vitesse.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou