Enregistreur de macros et références relatives / absolues
- Messages
- 1'042
- Excel
- 2003 FR / 2007 UK
- Inscrit
- 7.05.2007
- Emploi
- Consultant en finance
Bonjour à tous,
Si vous utilisez l’enregistreur de macros et que vous cliquez sur une cellule, en VBA, cela se traduit par :
Sub Références_absolues()
' Macro enregistrée le 13/05/2008 par TL pour Excel-pratique
ActiveCell.FormulaR1C1 = "Cellule 1"
Range("F24").Select
ActiveCell.FormulaR1C1 = "Cellule 2"
End Sub
Explication de la macro :
La cellule active = « Cellule 1 »
Selection de F24 qui devient la cellule active
La cellule active (F24) = « Cellule 2 »
Excel enregistre donc la macro en référence absolue. Cela signifie que F24 contiendra TOUJOURS « cellule 2 », ou que vous vous placiez.
Maintenant si vous regardez bien, lorsque vous enregistrez une macro, vous avez une petite barre de commandes qui apparaît avec le carré d’arrêt d’enregistrement et un carré blanc, représentant une page Excel.
Si vous cliquez sur ce bouton blanc, vous indiquez à Excel d’enregistrer en Référence relative et non plus en absolue comme au-dessus.
La même macro devient alors :
Sub Références_relatives()
' Macro enregistrée le 13/05/2008 par TL pour Excel-pratique
ActiveCell.FormulaR1C1 = "Cellule 1"
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "Cellule 2"
End Sub
Dans ce cas, vous indiquez à Excel qu’il faut mettre « cellule 2 » juste en dessous de « cellule 1 » ou que vous vous placiez.
Explication de la macro :
La cellule active = « Cellule 1 »
Se placer sur la cellule juste en dessous (devient la cellule active)
La cellule active = « Cellule 2 »
J'espère que j'ai été clair. Si ce n'est pas le cas, prévenez moi.
Souri84