|
Se déplacer dans Excel en VBA... voilà des fonctions bien utiles pour déterminer par simple code une ou des cellules ou plages entières. A quoi servirait les scripts si on ne pouvait pas modifier n'importe quelle cellule ? Vous trouverez ci-dessous des fonctions qui vous aideront à vous déplacer dans Excel avec des Macros : sélection d'un classeurs et de ses feuilles, de cellules, de lignes ou de colonnes, détection de cellules vides / non-vides, agrandir une sélection... |
Classeurs et feuilles d'un classeur |
Sélectionner le classeur dans lequel est exécutée la procédure : ThisWorkbook.Activate
Sélectionner un autre classeur (le classeur doit être ouvert) : Workbooks("conseil-creation.xls").Activate
Sélectionner une feuille Sheets("conseil-creation").Select
Remarque : si vous nommez vos feuilles (dans la fenêtre des propiétés
de l'éditeur VB), vous pourrez utiliser : conseil-creation.select
Cellules ( voir des exemples ) |
Sélectionner des cellules :
- cellule simple : Range("A1").Select
- cellules contigües : Range("A1:D5").Select
- cellules non contigües : Range("A1,B2:B4,D5").Select
Dépacements entre cellules : ActiveCell.Offset(13, 14).Select
Sélectionner une feuille entière : Cells.Select
Lignes ou colonnes ( voir des exemples ) |
Sélectionner un tableau, de la cellule active jusqu'à la première ligne et colonne vide : Range("A1").CurrentRegion.Select
Sélectionner une ligne ou une colonne :
- Ligne : Rows("1").Select (ou ActiveCell.EntireRow.Select)
- Colonne : Columns("A").Select (ou ActiveCell.EntireColumn.Select)
Voir les exemples
pour la sélection de plusieurs lignes ou colonnes (contigües ou
non).
Cellules vides ( voir des exemples ) |
Sélectionner une plage de la première à la dernière
cellule non-vide d'une colonne
Range("A1", Range("A1").End(xlDown)).Select
Range(ActiveCell, ActiveCell.End(xlDown)).Select
Sélectionner une plage de la dernière cellule non vide jusqu'à
la première
Range("A25", Range("A25").End(xlUp)).Select
Range(ActiveCell, ActiveCell.End(xlUp)).Select
Sélectionner une plage de la première cellule de la colonne
ou de la ligne jusqu'à la dernière cellule non-vide
Range("A1", Range("A1").End(xltoRight)).Select
Range(ActiveCell, ActiveCell.End(xltoLeft)).Select
Sélectionner la première cellule vide au bas de la colonne
Range("B3").End(xlDown).Offset(1, 0).Select
Sélectionner la première cellule vide à droite
Range("A1").End(xltoRight).Offset(1, 0).Select
Modifier une sélection ( voir des exemples ) |
Agrandir une sélection : Range("depart", "fin").Select
"Départ" détermine la première cellule
et "fin" la cellule jusqu'à laquelle s'étend
la sélection.
Ce qui vous permet par exemple d'agrandir une sélection de X colonnes
et/ou de Y lignes (voir
des exemples).
Sélectionner une plage agrandie de cinq cellules vers la gauche
Range("A20", Range("A20").Offset(0, -5)).Select
Range(ActiveCell, ActiveCell.Offset(0, -5)).Select
Sélectionner une plage agrandie de cinq cellules vers le bas
Range("a2", Range("a2").Offset(5, 0)).Select
Range(ActiveCell, ActiveCell.Offset(5, 0)).Select
Déplacer la sélection : Selection.Offset(X, Y).Select