Comme nous l'avons très rapidement vu au chapitre précédent, toutes les cellules du tableur sont des instances de la classe
Range. Pour effectuer la sélection, il suffit d'appliquer à votre objet la méthode
Select. Jusque-là, pas de surprise. La sélection de la cellule C5 peut donc se faire comme suit :
Code : VB.NET | Sub tests_selection()
Range("C5").Select
End Sub
|
On peut aussi sélectionner plusieurs cellules les séparant par des virgules :
Code : VB.NET | 'Sélection des cellules C5, D4 et F8 :
Range("C5, D4, F8").Select
|
Votre objet peut aussi être une plage de cellules. Par exemple, le code ci-dessous sélectionne une plage de B2 à E8 :
Code : VB.NET
Cells, une autre classe pour les cellules...
Les cellules sont des instances de Range, mais aussi de la classe
Cells. Voyez plutôt ces deux codes comparatifs qui exécutent exactement la même chose :
| Avec Range |
Avec Cells |
| Code : VB.NET |
Code : VB.NET |
La syntaxe pour sélectionner une cellule avec Cells est la suivante :
Code : VB.NET | Cells(ligne, colonne).Select
|
C'est exactement l'inverse de l'adressage que nous connaissons dans le tableur. D'abord la ligne, ensuite la colonne. Attention ! Ces deux valeurs doivent être numériques ! C'est-à-dire que vous devez récupérer le numéro de la colonne souhaitée.
Mais comment je fais pour connaître le numéro de la colonne ?
Cliquez sur le gros bouton Office en haut à gauche puis sur «
Option Excel ». Dans la fenêtre qui s'ouvre cliquez à gauche sur «
Formules » et dans la rubrique «
Manipulation de formules », cochez la case «
Style de référence L1C1 » :
Vos références de colonnes sont maintenant des chiffres, et non des lettres
Décaler une sélection
Vous avez été traumatisés par les translations en maths ? Aïe pour vous. On va apprendre une technique qui sert à décaler une sélection à partir de la cellule active.
La cellule active est gérée par la classe
ActiveCell. La classe nouvelle qui effectuera le décalage est
Offset.
Offset attend deux arguments : le nombre de lignes puis le nombre de colonnes du décalage. Il ne faut pas se tromper dans le signe. Des exemples ? En voici :
Code : VB.NET 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | Sub decalages()
'La cellule active ne bouge pas :
ActiveCell.Offset(0, 0).Select
'Décalage d'une ligne vers le bas et d'une colonne vers la droite :
ActiveCell.Offset(1, 1).Select
'Décalage d'une ligne vers le haut et de trois colonnes vers la gauche :
ActiveCell.Offset(-1, -3).Select
End Sub
|