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 Sub

On 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 Sub

Il suffit alors de sélectionner une autre plage, par exemple A12:D14 et exécuter la macro.

SuiteSuiteSuite