Droit de diffusion et
d'utilisation:
Tous les documents ou partie de document ainsi que le code
sont libres d'accès, mais ne peuvent pas être diffusés
sur d'autres sites HTTP, FTP ou autres, sans mon accord.
Je demande juste aux personnes incluant mon code dans
leurs applications d'y laisser le commentaire mis en entête.
Travailler avec Excel sous Visual Basic, ce n'est
pas très compliqué. En effet tout est basé sur sur le VBA. Toute la
suite du cours sera en plus un cours sur VBA. En effet si vous souhaitez
réaliser une manipulation plus ou moins complexe avec Excel, je vous
conseille de créer une macro sous Excel. Pour celà vous allez dans le
menu Outils -> Macro -> Nouvelle Macro...
Vous effectuez votre manipulation puis vous arrêtez votre macro
avec le carré bleu de la barre d'outils. Ensuite vous retournez dans le
menu Outils -> Macro et vous sélectionnez Visual Basic Editor (ou vous
faites Alt+F11). Vous trouverez alors le code VBA de ce que vous venez
de réaliser.Il ne vous reste plus qu'à l'adapterà vos besoins.
Je vais tout de même vous montrez quelques bases
comme la navigation dans une feuille Excel avec sélection, affectation,
copie, coupage, insertion, suppression.
3. Utiliser une feuille Excel
Afin d'éviter d'avoir à s'embetter avec les lettres
des colonnes, nous allons commencé par déclarer un tableau contenant
le nom des colonnes :
Option Base 1
Public colHeader As Variant
colHeader = Array("A", "B", "C", "D", "E",
"F", "G", "H", "I",
"J", "K", "L", "M", "N", "O",
"P", "Q", "R", "S", "T", "U",
"V", "W", "X", "Y", "Z", _
"AA", "AB", "AC", "AD", "AE", "AF",
"AG", "AH", "AI", "AJ", "AK",
"AL", "AM", "AN", "AO", "AP", "AQ",
"AR", "AS", "AT", "AU", "AV", "AW",
"AX", "AY", "AZ", _
"BA", "BB", "BC", "BD", "BE", "BF",
"BG", "BH", "BI", "BJ", "BK",
"BL", "BM", "BN", "BO", "BP", "BQ",
"BR", "BS", "BT", "BU", "BV", "BW",
"BX", "BY", "BZ", _
"CA", "CB", "CC", "CD", "CE", "CF",
"CG", "CH", "CI", "CJ", "CK",
"CL", "CM", "CN", "CO", "CP", "CQ",
"CR", "CS", "CT", "CU", "CV", "CW",
"CX", "CY", "CZ")
|
Je me suis arrêté à la colonne CZ mais vous
pouvez en rajouter autant que vous le souhaitez. Je vous conseille de
mettre le code ci-dessus dans un module pour que toute votre application
puisse utiliser ce tableau.
Pour débuter ce chapitre nous allons sélectionné une feuille, et
calculer la somme des cellules A3 à F3 et mettre le résultat dans la
cellule B4.
C'était un petit exemple qui vous montre comment accéder à une cellule
directement (grâce à Cells) et comment sélectionner un ensemble de cellule
(grâce à Range).
Biensûr vous pouvez sélectionner aussi bien une ligne qu'une colonne,
mais avec la propriété Range c'est assez embettant car la première cellule
on la connaît mais pas la dernière, à moins de mettre les valeurs maximales
d'Excel. Donc il existe deux propriétés qui sont Rows et Columns.
Pour ce qui font de l'anglais c'est plutôt clair :)
- Columns : permet de sélectionner un ensemble de colonnes
consécutives
- Rows : permet sélectionner un ensemble de lignes consécutives
Nous allons commencer par Columns.
3.1 Sélectionner une ou plusieurs colonnes:
Pour sélectionner un ensemble de colonnes vous devez faire passez le nom de la
première colonne et celui de la dernière. Pour sélectionner les colonnes D à H vous faites :
sheet.Columns("D:H").Select
|
Comme vous n'avez que le numéro des colonnes et non pas les lettre vous
faites :
sheet.Columns(colHeader(4) & ":" & colHeader(8)).Select
|
Donc pour sélectionner une seule colonne vous devez mettre
le même nom de colonne de début et de fin. Mais biensûr vous êtes un peu
faignant comme la plupart des codeurs. Vous préférez passer votre temps à
réfléchir à des solutions plutot qu'à coder. Donc il existe une solution
pour gagner un peu. Pour la sélection d'une colonne vous pouvez ne passer
que le nom de la colonne à sélectionner ( Coloumns("D").Select ) ou bien
le numéro de la colonne à sélectionner ( Columns(4).Select )
3.2 Sélectionner une ou plusieurs lignes:
Pour sélectionner un ensemble de colonnes vous
devez faire passez le nom de la première colonne et celui de la dernière.
Pour sélectionner les lignes 25 à 43 vous faites :
Pour sélectionner une seule ligne vous pouvez faire Rows("25").Select ou bien Rows(25).Select
Les techniques de sélection sont valables pour la copie, le coupage, le
collage, la supression et l'insertion. Vous devez juste remplacer Select
par Copy, Cut, Paste, Delete, Insert.
3.3 Sélectionner une feuille:
Vous pouvez soit récupérer une feuille spécifique soit récupérer la feuille active.
3.4 Changer le nom d'une feuille:
Rien de plus simple. Vous selectionnez une feuille avec la méthode ci-dessus, puis vous faites :
Documents réalisés par
Sébastien Curutchet
|