Wednesday, August 10, 2011

Utiliser VBA avec EXCEL

Parfois pour des petits programmes ou simplement tester un petit simulateur, la programmation VBA avec EXCEL est avantageuse.

Voici un exemple de comment débuter un projet avec Excel 2007 et VBA.

1. étape ouvrez Excel
2. Maintenant vérifier si l'onglet développeur se situe en haut à gauche.



3. Dans l'image ci-dessus l'onglet développeur n'est pas présent, nous allons l'ajouter.
Pour ce faire nous allons cliquer sur le rond Office situé en haut à gauche. puis sur le bouton "
Options Excel", vous allez avoir une fenêtre avec 3 cases à cocher , cocher la 3eme "Afficher l'onglet développement dans le ruban" et cliquer sur Ok.

vous allez avoir maintenant l'onglet
développeur.

Nous allons maintenant créer un bouton afin de voir un peu de code.

4. pour créer un bouton cliquer sur
Insérer dans l'onglet développeur.
Choissiez bouton (le premier) et créer un bouton sur votre formulaire excel.

une fenêtre va avoir ouvrir, nommer votre bouton et cliquer sur "
Nouvelle"


vous allez avoir voir une fenêtre qui va contenir la procédure du bouton

Sub NomDeVotreBouton()

End Sub

Ceci est votre événement de bouton nous allons maintenant voir comment inter-réagir avec vos feuilles Excel et ce bouton.

1. déclaration des variables



2. Opérations de base (si alors, loop...)


3. Insertion de fonction


4. Débogage en VBA




Quoi mettre dans nos fonctions et procédures (le code pour écrire et interroger les cellules de nos feuilles Excel)

1. L'importance des "Ranges"

Un Range permet de travailler en référence avec un groupe de données. Il évite de devoir travailler avec des données comme A1,E12,F22. En VBA la colonne Horizontal A,B,C.... n'existe pas c'est sous forme de tableau (1,1) (1,2) (2,3) ... donc il faut constamment convertir les lettre en position chiffre (exemple b =2, c=3) donc A2 en VBA s'exprime sous la forme de (1,2) (les indices débutent à 1).

avec notre Range (moRange) (voir plus bas) E11 s'exprime (1,1) E12(2,1)... c'est pour cela que c'est plus facile de travailler avec un "range". aussi si vous déplacer vos données vous n'aurez pas besoin de modifier votre code car votre "range" est relatif.

2. comment créer un "Range"

Il suffit de sélectionner des donnée et d'écrire un nom dans la case situé en haut à gauche et une fois le nom écrit, appuyer sur la touche "Entrer"

Maintenant j'ai un Range au nom de "MoRange" qui contient les donnée de E11 à E16.

3. Comment lire un "Range"
dim x as integer
x = Range("MoRange").Cells(1, 2)


4. Comment modifier les données dans un "Range"

Range("MoRange").Cells(1, 1).Value = 1

ceci insert la valeur 1 dans la première cellule de mon Range.

voici un exemple de boucle

While Range("MoRange").Cells(1, 1).Value <> Range("MoRange").Cells(1, 2)
X= X+ 1
Wend

For Counter = 1 To Range("MoRange").Cells(1, 1).Value
Range("
MoRange").Cells(1, 2).Value = Counter
Next Counter

Pour effacer une case
Range("MoRange").Cells(1, 1).ClearContents

Faire de count du nombre de ligne du Range
Range("
MoRange").Rows.Count

ex :
For compterow = 1 To Range("
MoRange").Rows.Count
....
Next compterow

Changer la couleur
Range("
MoRange").Cells(1, 1).Interior.Color = RGB(255, 255, 255)

No comments:

Post a Comment