Arrêter une macro au lancement d'une autre

Bonjour,

J'ai une macro A qui se rafraîchit toutes les minutes pour filtrer un tableau (selon des critères dynamiques d'une autre feuille), une macro B pour enlever ce filtre.

Je souhaiterai ajouter un bout de code dans la macro B pour qu'au lancement de celle-ci elle arrête la macro A (car elle continue de s'éxecuter toutes les minutes malgré tout) :

Sub filtre_cable()
' Voici la macro A
' filtre_cable Macro
'
    Worksheets("Cable").Range("A4:L1000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Sheets("Données").Range("L9:L11"), Unique:=False
    Application.OnTime Now + TimeValue("00:01:00"), "filtre_cable"

End Sub
Sub Enlever_filtre_cable()
' Voici la Macro B
' Enlever_filtre_cable Macro
'
    Worksheets("Cable").Range("B4").AutoFilter

End Sub

Merci de votre aide !

Bonjour,

il faut mémoriser l'heure du dernier lancement pour pouvoir l'arrêter :

ton code modifié :

Dim MemoDate As Date ' ===> Tout en haut de ton module déclaration d'une nouvelle variable pour sauvegarder la date

Sub filtre_cable()
' Voici la macro A
' filtre_cable Macro
'
   Worksheets("Cable").Range("A4:L1000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Sheets("Données").Range("L9:L11"), Unique:=False

  MemoDate :=Now + TimeValue("00:01:00")  '==> Memorise date onTime
   Application.OnTime MemoDate , "filtre_cable"

End Sub
Sub Enlever_filtre_cable()
' Voici la Macro B
' Enlever_filtre_cable Macro
'
   Worksheets("Cable").Range("B4").AutoFilter
      if MemoDate  > 0 then Application.OnTime MemoDate , "filtre_cable",,false '==> Arrêt du dernier OnTume en cours
End Sub
 

Il me sort une erreur ici:

 MemoDate :=Now + TimeValue("00:01:00")  '==> Memorise date onTime

EDIT: Je viens de trouvé les 2 erreurs de syntaxe :

MemoDate = Now + TimeValue("00:01:00") ' ==> Memorise date onTime
Rechercher des sujets similaires à "arreter macro lancement"