Nous allons commencer par créer une macro qui sélectionnera une cellule de notre choix.
Ouvrez l'éditeur et ajoutez-y un module :
Dans le module, tapez "sub exemple" et appuyez sur Enter.
Vous remarquerez qu'Excel a automatiquement ajouté la fin de cette nouvelle procédure :
Sub
exemple()
End
Sub
Créez maintenant un bouton de formulaire auquel vous allez associer cette macro (vide pour le moment) :
Complétez votre macro avec ceci :
Sub
exemple()
'Sélection
de la cellule A8
Range(
"A8"
).
Select
End
Sub
Vous pouvez tester cette macro en cliquant sur votre bouton de formulaire, la cellule A8 est alors sélectionnée.
Nous allons maintenant modifier cette macro pour sélectionner la cellule A8 de la seconde feuille :
Sub
exemple()
'Activation
de la feuille 2
Sheets(
"Feuil2"
).Activate
'Sélection
de la cellule A8
Range(
"A8"
).
Select
End
Sub
Excel active alors la feuille 2 avant de sélectionner la cellule A8.
Remarque : aidez-vous des commentaires (texte en vert) pour bien comprendre les macros de ce cours.
Sub
exemple()
'Sélection
des cellule A8 et C5
Range(
"A8,
C5"
).
Select
End
Sub
Sub
exemple()
'Sélection
des cellules A1 à A8
Range(
"A1:A8"
).
Select
End
Sub
Sub
exemple()
'Sélection
des cellules de la plage "ma_plage"
Range(
"ma_plage"
).
Select
End
Sub
Sub
exemple()
'Sélection
de la cellule de la ligne 8 et de la colonne 1
Cells(8, 1).
Select
End
Sub
Cette autre manière de sélectionner permet des sélections plus dynamiques et sera bien utile par la suite.
En voici un petit exemple :
Sub
exemple()
'Sélection
aléatoire d'une cellule de la ligne 1 à 10 et de la
colonne 1
Cells(Int(Rnd * 10) + 1, 1).
Select
'Traduction
:
'Cells([nombre_aléatoire_entre_1_et_10],
1).Select
End
Sub
Ici, le numéro de ligne est : Int(Rnd * 10) + 1, autrement dit : un nombre entre 1 et 10 (inutile de retenir ce code pour le moment).
Sub
exemple()
'Sélection
d'une cellule (calculée par rapport à la cellule
active actuelle)
ActiveCell.Offset(2, 1).
Select
End
Sub
Décalage de 2 lignes vers le bas et 1 colonne vers la droite à partir de la cellule active, puis sélection :
Il est possible de sélectionner des lignes entières avec Range ou Rows (Rows étant spécifique aux lignes).
Sub
exemple()
'Sélection
des lignes 2 à 6
Range(
"2:6"
).
Select
End
Sub
Sub
exemple()
'Sélection
des lignes 2 à 6
Rows(
"2:6"
).
Select
End
Sub
Tout comme pour les lignes, il est possible de sélectionner des colonnes entières avec Range ou Columns (Columns étant spécifique aux colonnes).
Sub
exemple()
'Sélection
des colonnes B à G
Range(
"B:G"
).
Select
End
Sub
Sub
exemple()
'Sélection
des colonnes B à G
Columns(
"B:G"
).
Select
End
Sub
Créer une macro qui recopie la colonne A de la feuille1 dans la colonne B de la feuille2