Vidéo: Recording Macros with Relative References in Microsoft Excel | Everyday Office 077 2025
A référence relative dans une macro Excel signifie par rapport à la cellule actuellement active. Soyez donc prudent avec votre choix de cellule active - à la fois lorsque vous enregistrez la macro de référence relative et lorsque vous l'exécutez.
Commencez par ouvrir le fichier d'exemple. xlsx disponible en ligne. Ensuite, utilisez les étapes suivantes pour enregistrer une macro de référence relative:
-
Dans l'onglet Développeur, sélectionnez l'option Utiliser les références relatives.
Enregistrement d'une macro avec des références relatives. -
Assurez-vous que la cellule A1 est sélectionnée.
-
Dans l'onglet Développeur, sélectionnez Enregistrer une macro.
-
Nommez la macro AddTotalRelative.
-
Choisissez ce classeur pour l'emplacement de sauvegarde.
-
Cliquez sur OK pour commencer l'enregistrement.
-
Sélectionnez la cellule A16 et tapez Total dans la cellule.
-
Sélectionnez la première cellule vide dans la colonne D (D16) et tapez = COUNTA (D2: D15).
-
Dans l'onglet Développeur, cliquez sur Arrêter l'enregistrement pour arrêter l'enregistrement de la macro.
À ce stade, vous avez enregistré deux macros. Prenez un moment pour examiner le code de votre nouvelle macro en sélectionnant Macros dans l'onglet Développeur pour ouvrir la boîte de dialogue Macro. Choisissez la macro AddTotalRelative et cliquez sur Modifier.
Encore une fois, Visual Basic Editor s'ouvre et vous montre le code qui a été écrit lorsque vous avez enregistré votre macro. Cette fois, votre code ressemble à ceci:
Sub AddTotalRelative () ActiveCell. Décalage (15, 0). Plage ("A1"). Sélectionnez ActiveCell. FormulaR1C1 = "Total" ActiveCell. Décalage (0, 3). Plage ("A1"). Sélectionnez ActiveCell. FormulaR1C1 = "= COUNTA (R [-14] C: R [-1] C)" End Sub
Notez d'abord que le code ne contient pas de références à des plages de cellules spécifiques (autres que le point de départ, A1). Notez que dans cette macro, Excel utilise la propriété Offset de la cellule active. Cette propriété indique au curseur de déplacer un certain nombre de cellules vers le haut ou vers le bas et un certain nombre de cellules à gauche ou à droite.
Dans ce cas, le code de propriété Offset indique à Excel de déplacer 15 lignes et 0 colonnes de la cellule active (A1). Étant donné que la macro a été enregistrée à l'aide de référence relative, Excel ne sélectionne pas explicitement une cellule particulière comme il l'a fait lors de l'enregistrement d'une macro de référence absolue.
Pour voir cette macro en action, supprimez la ligne Total pour les deux tables et procédez comme suit:
-
Sélectionnez la cellule A1.
-
Dans l'onglet Développeur, sélectionnez Macros.
-
Recherchez et sélectionnez la macro AddTotalRelative.
-
Cliquez sur le bouton Exécuter.
-
Sélectionnez la cellule F1.
-
Dans l'onglet Développeur, sélectionnez Macros.
-
Recherchez et sélectionnez la macro AddTotalRelative.
-
Cliquez sur le bouton Exécuter.
Notez que cette macro, contrairement à votre précédente macro, fonctionne sur les deux ensembles de données.Étant donné que la macro applique les totaux relatifs à la cellule actuellement active, les totaux sont appliqués correctement.
Pour que cette macro fonctionne, vous devez simplement vous assurer que
-
vous avez sélectionné la cellule de départ correcte avant d'exécuter la macro.
-
Le bloc de données a le même nombre de lignes et de colonnes que les données sur lesquelles vous avez enregistré la macro.
