excel-vba
Comment enregistrer une macro
Recherche…
Comment enregistrer une macro
Le moyen le plus simple d’enregistrer une macro est le bouton situé dans le coin inférieur gauche d’Excel:
Lorsque vous cliquez dessus, vous obtenez une fenêtre pop-up vous demandant de nommer la macro et de décider si vous souhaitez avoir une touche de raccourci. En outre, demande où stocker la macro et pour une description. Vous pouvez choisir n'importe quel nom, aucun espace n'est autorisé.
Si vous souhaitez qu'un raccourci soit affecté à votre macro pour une utilisation rapide, choisissez une lettre dont vous vous souviendrez pour pouvoir utiliser rapidement et facilement la macro.
Vous pouvez stocker la macro dans «Ce classeur», «Nouveau classeur» ou «classeur de macros personnelles». Si vous souhaitez que la macro que vous êtes sur le point d'enregistrer soit uniquement disponible dans le classeur actuel, choisissez «Ce classeur». Si vous voulez qu'il soit enregistré dans un nouveau classeur, choisissez «Nouveau classeur». Et si vous souhaitez que la macro soit disponible dans tous les classeurs que vous ouvrez, choisissez «Classeur de macros personnelles».
Après avoir rempli ce pop-up, cliquez sur "Ok".
Effectuez ensuite les actions que vous souhaitez répéter avec la macro. Lorsque vous avez terminé, cliquez sur le même bouton pour arrêter l'enregistrement. Il ressemble maintenant à ceci:
Vous pouvez maintenant accéder à l'onglet Developer et ouvrir Visual Basic. (ou utilisez Alt + F11)
Vous allez maintenant avoir un nouveau module sous le dossier Modules.
Le module le plus récent contiendra la macro que vous venez d’enregistrer. Double-cliquez dessus pour le faire apparaître.
J'ai fait un simple copier-coller:
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.Copy
Range("A12").Select
ActiveSheet.Paste
End Sub
Si vous ne voulez pas qu'il colle toujours dans "A12", vous pouvez utiliser les références relatives en cochant la case "Utiliser les références relatives" de l'onglet Developer:
En suivant les mêmes étapes que précédemment, vous allez maintenant transformer la macro en ceci:
Sub Macro2()
'
' Macro2 Macro
'
'
Selection.Copy
ActiveCell.Offset(11, 0).Range("A1").Select
ActiveSheet.Paste
End Sub
Toujours copier la valeur de "A1" dans une cellule de 11 lignes, mais maintenant vous pouvez effectuer la même macro avec n'importe quelle cellule de départ et la valeur de cette cellule sera copiée dans les 11 lignes de la cellule.