Introduction à VBA

Cet article est une introduction au language VBA. Les points suivants seront abordés:

1. Ouvrir un module pour saisir les lignes de code.

2. Exemple de programme : calcul d’un taux de variation.

3. Focus sur « Option Explicit » et « Inputbox ».

4. Créer une fonction sur VBA.

5. Les instructions conditionnelles dans VBA : « If » et « Select ».

6. Les instructions itératives dans VBA : « For », « While » et « Until ».

7. Conclusion.

1.   Ouvrir un module pour saisir les lignes de code

Il faut au préalable ouvrir l’onglet « développeur » : Fichier > Options > Personnaliser le ruban. Ensuite cochez l’onglet développeur comme sur la figure 1.

figure 1

Figure 1

Cliquez alors sur : Developpeur > Visual Basic. Puis clic droit sur « Feuil 1 (Feuil1) » > Insertion > Module (cf figure 2).

Sélectionnez le module 1 ainsi créé : vous allez programmer ici.

figure 2

Figure 2

Pensez à enregistrer en .xlsm pour sauvegarder les macros.

 

2.   Exemple de programme : calcul d’un taux de variation

figure 3

Figure 3

La figure 3 présente un programme (macro) qui calcule un taux de variation. Les macros commencent par « Sub » et finissent par « End Sub ».

Pour plus de simplicité, je vous recommande d’utiliser un bouton pour exécuter le programme. Allez sur la Feuille 1, onglet développeur : Insérer > Bouton (Contrôle de formulaire). Placez le bouton comme bon vous semble (sa taille, son format ou encore le texte qu’il contient : tout est personnalisable). Ensuite affectez lui une macro (clique droit), ici « name ».

figure 4

Figure 4

Une fois que vous cliquez sur le bouton, la macro calcule le taux de variation entre le nombre situé en cellule A1 (ici 46) et celui situé en A2 (ici 63). Sur la figure 4 on voit le résultat affiché grâce à la ligne « Msgbox ».

Prendre une valeur dans la feuille excel (en A1) et la mettre dans une variable (nommée x) :

                  Range (“A1”).Select

                  x = Activecell.Value

Mettre une valeur / variable dans une cellule :

                  Range (“A1”).Select

                  Activecell.Value = x

 

3.  Focus sur « Option Explicit » et « Inputbox »

« Option Explicit » est une indication facultative qui permet de sécuriser une macro. Saisir cette commande nécessite de déclarer l’ensemble des variables utilisées.

Mettre des valeurs à partir d’une cellule de référence

                  num = ActiveCell.Value

                  ActiveCell.Offset(0,1).Select

                  ActiveCell.Value = num + 5

                  ActiveCell.Offset(-1,2).Select

                  ActiveCell.Value = num / 2

figure 5

Figure 5

Résultat du programme après avoir entré « 1 » dans une cellule.

La commande « Inputbox » permet d’ouvrir une boîte de dialogue où il est possible de rentrer du texte qui va être assigné à une variable.

figure 6

Figure 6

 

Figure 6 – 2

Les trois boîtes de dialogue ci-dessus (figure 6 – 2) s’ouvrent alors.

 

4.  Créer une fonction sur VBA

Créer une fonction sur VBA permet de repousser encore les limites d’Excel. L’exemple de la figure 7 est très simple mais vous pouvez construire des fonctions aussi complexes que vous le souhaitez.

figure 7

Figure 7

Dans la figure 8 on utilise la fonction « add », qui additionne la variable « a » avec la variable « b » : ici 2+3 donne 5 en cellule B2.

figure 8

Figure 8

 

5.   Les instructions conditionnelles dans VBA : « If » et « Select »

L’utilisation de « If » est assez intuitive :

                  If (condition) Then

                                   Il se passe cette option 1

                  Else If (condition) Then

                                   Il se passe cette option 2

                  Else

                                   Il se passe cette option 3

                  End If

Prenons l’exemple de la figure 9.

figure 9

Figure 9

En ce qui concerne « Select », le résultat dépend de possibilités prévues à l’avance. Voyez l’exemple de la figure 10.

figure 10

Figure 10

 

6.  Les instructions itératives dans VBA : « For », « While » et « Until »

Les boucles sont des moyens simples de répéter une opération. Trois types de boucles existent :

  • La boucle « for » répète une opération un nombre défini de fois
  • La boucle « while » répète une opération tant qu’une condition n’est pas remplie
  • La boucle « until » répète une opération jusqu’à ce que la condition soit remplie

La figure 11 montre trois boucles exemples pour clarifier mes propos.

figure 11

Figure 11

 

7.  Conclusion

Cette introduction permet d’aborder des concepts très simples de VBA, il vous permettra d’avoir quelques clefs d’entrées si vous n’avez jamais utilisé cet outil.

De nombreux points n’ont pas été évoqués mais je vous conseille de vous intéresser à des thématiques telles que les « UserForms » ou encore les « Arrays ».

N’hésitez pas à me contacter si vous avez des questions.

Quentin WALKER

quentin.walker@grenoble-em.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s