Forums | Contact | Plan du site Menu Accueil » Excel et Visual Basic
 
Présentation
Utilité d'Excel
Présentation des menus
 
Manipulation des macros
Qu'est-ce qu'une macro ?
Création de macros
Se déplacer dans les tableaux
Macros et barres d'outils
 
Personnalisez vos classeurs
Créer votre splash screen
Fermer

Déplacements dans Excel avec VBA

VBA pour Excel programmation macro

  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

 


© Cédric MICHEL - conseil & création ( 2003 / 2019 )