MACRO COMMANDE
On peut écrire une macro en utilisant l'Enregistreur de macros ou en entrant les instructions (formules) dans un module Visual Basic. Un module Visual Basic est une feuille spéciale qu'il faut insérer dans un classeur (Module/Macro/Insertion). Un même module Visual Basic peut contenir des macros commandes et des macros fonctions. L'Enregistreur de macros fonctionne comme un magnétophone : il enregistre les opérations pour pouvoir les reproduire le moment voulu.
Création à partir de l'Enregistreur
L'Enregistreur de macros est un outil intégré qui crée le code Visual Basic à votre place. L'Enregistreur permet de mémoriser toutes les actions dans un module Visual Basic.
Voici la procédure à suivre :
- Démarrer l'Enregistreur : Nouvelle macro.../Enregistrer une macro/Outils
Une feuille Visual Basic est insérée automatiquement à la fin du classeur en cours, le mot "Enregistrement" apparaît dans la barre d'état et le bouton "Arrêter la macro" dans la feuille en cours.
- Définir le nom de la macro et éventuellement le raccourci (cfr. le bouton "Options>>") puis valider
- Exécuter les différentes actions (Excel introduit automatiquement les formules dans la feuille Visual Basic).
- Choisir Arrêter l'enregistrement du même menu
[Exemple : "Création d'une macro qui permet de générer un graphique"]
Exécution d'une macro commande
Pour exécuter une macro :
- utiliser la commande : Macro.../Outils et choisir le nom de la macro
- ou utiliser le raccourci :
Ctrl+raccourci (Windows)
Option+Commande+raccourci (Macintosh)On peut également attacher une macro à un objet de la feuille de calcul (Bouton, graphique, ...) ou à un article d'un menu personnalisé.
Création manuelle à partir du clavier
Pour créer une macro commande, il suffit d'introduire les instructions directement dans le module Visual Basic. On insère une feuille module Visual Basic en utilisant la commande : Module/Macro/Insertion. Un même module Visual Basic peut contenir des macros commande et des macros fonction. Les instructions Visual Basic sont entourées des mots clés : SUB et END SUB.
Exemple :
Sub Bonjour() MsgBox ("Bien le boujour") End SubOn peut modifier les instructions (formules) directement dans le module Visual Basic. Ainsi, dans l'exemple "Création d'une macro qui permet de générer un graphique", on peut modifier la macro comme ceci :
- supprimer la ligne :
- Range("A3:D6").Select
- modifier la ligne :
- Selection.Text = "=Feuil1!R1C1"
- par :
- Selection.Text = "=Feuil1!R[-2]C1"
- et la ligne :
- ActiveChart.ChartWizard Source:=Sheets("Feuil1").Range("A3:D6"),_
- par :
- ActiveChart.ChartWizard _
ce qui va permettre de standardiser cette macro.
Voici le nouveau texte de la macro
' ' Graphique Macro ' Macro enregistrée le 24/10/96 par Jean-Marie Lambert ' ' Sub Graphique() Charts.Add With ActiveChart .HasTitle = True .Axes(xlCategory, xlPrimary).HasTitle = False .Axes(xlValue, xlPrimary).HasTitle = False .ChartTitle.Select End With Selection.Text = "=Feuil1!R[-2]C1" ActiveChart.Axes(xlValue).Select With ActiveChart.Axes(xlValue) .MinimumScaleIsAuto = True .MaximumScale = 25000 .MinorUnitIsAuto = True .MajorUnit = 5000 .Crosses = xlAutomatic .ReversePlotOrder = False .ScaleType = False End With ActiveChart.ChartWizard _ PlotBy:=xlRows, CategoryLabels:=1, SeriesLabels:=1 End SubIl suffit alors de sélectionner une autre plage, par exemple A12:D14 et exécuter la macro.