Modes de déclenchement de la macro

  1. Manuel

  2. Outil / macro / exécuter ( ou 4 dans la barre d'outils VBA)
  3. Combinaison de touches (CTRL + lettre)

  4. Raccourci défini soit au moment de l'enregistrement par l'enregistreur de macro,
    soit directement par Outils / Macro / Macros / Options / Touche de Raccourci
    exemple changer la couleur d’une cellule par CTRL + B

  5. Evénements

  6. Déclenchement de la macro
    En cliquant sur un bouton, une image (cliquez ici)
    En actionnant d'autres contrôles
    à une certaine heure : OnTime, par exemple un carillon sur Excel
    avec une touche au clavier : OnKey
    à chaque modification de la feuille de calcul : Change,
    à chaque modification de la zone sélectionnée : SelectionChange
    dès qu'il se produit une erreur : On Error
    à l'ouverture d'un fichier
    au lancement d’Excel…
     
    télécharger le fichier exemple evenements.zip
     
  7. dans une autre macro (appeler la macro par son nom éventuellement précédé de "Call") :
Sub truc()
machin
MsgBox ("Au revoir !")
End Sub

Sub machin()
MsgBox ("Bonjour !")
End Sub

Sub truc()
Call machin("salut")
MsgBox ("Au revoir !")
End Sub

Sub machin(texte)
MsgBox (texte)
End Sub


La macro truc exécute la macro machin (qui dit bonjour) puis dit au revoir.
A droite, la macro machin dépend d'un argument.
 
Remarques :
- Contrairement aux macros sans argument, une fonction ne peut pas être exécutée directement. Elle est utilisée soit dans une macro, soit dans une feuille de calcul.
- Run est utilisé pour lancer les macro Excel 4, les macro VB ou les dll.
Utile pour lancer une macro qui est dans un autre classeur : Run "classeur.xls!macrocodile"
- Pour éviter le lancement des macros auto_open ou Workbook_open() à l'ouverture d'un fichier, ouvrir d'abord Excel, Fichier / Ouvrir / sélectionner le fichier / maintenir la touche MAJ enfoncée en ouvrant le fichier. Ou bien utiliser l'alerte macro (Outils / Options / Général / Activer l'alerte macro) avant d'ouvrir le fichier.
En VBA, utiliser Application.EnableEvents = False
 
 
arrêter une macro
 :
ESC ou CTRL+ATTN,
Dans les cas désespérés ALT+CTRL+SUPPR permet d'accéder au gestionnaire de tâches et d'y arrêter le programme rétif.
En cas d'erreur, la macro s'arrête seule et oriente vers le "débogage" (le débogueur surligne en jaune l'endroit où s'est produite l'erreur. Corriger et cliquer sur g pour quitter le mode débogage (mode arrêt).

>>>