VBA - Introduction

Transcription

VBA - Introduction
ACTIVATION DES MACROS
Il faut d’abord activer les macros dans Excel. Cela permet d’afficher le menu
développeur et d’avoir accès à la page de programmation Visual Basic.
Accès au menu développeur :
Fichier –> Options -> Personnaliser le Ruban -> Onglets principaux -> Développeur
Il faut également autoriser les macros :
Développeur -> Sécurité des macros -> Paramètre des macros -> Activer toutes les
macros
PRÉPARATION DU PROBLÈME
La première étape avant de faire quoi que ce soit dans Excel est de préparer son
problème. Il faut savoir qu’est-ce que l’on veut faire et avoir une idée de quelle
manière s’y prendre.
Tout d’abord, créons un tableau avec les données du problème dans la feuille Excel.
C’est simple, entrer des noms de variable dans une colonne et faire un tableau
avec les valeurs.
Exemple de variable : Vitesse, viscosité, densité, etc.
Ensuite, fabriquons un second tableau qui contiendra nos résultats.
Exemple : Reynolds, facteur de friction, etc.
CRÉER UN BOUTON
Maintenant, il est temps d’ajouter un bouton pour activer la future macro. Il y a
plusieurs méthodes pour activer des macros. On peut l’activer à l’ouverture de la
page ou après une certaine action. Nous nous limiterons aux simples boutons
pour cet exemple-si.
Pour ajouter le bouton :
Développeur -> Insérer -> Contrôles de formulaire -> Bouton
* Il faut retenir le nom de la variable du bouton dans le petit formulaire après avoir créé le
bouton, car c’est avec ce dernier que nous allons pouvoir l’utiliser plus tard
On peut également modifier le nom affiché du bouton créer :
Clique droit -> Modifier le texte
CRÉER UNE NOUVELLE MACRO
Il est maintenant temps de passer au coeur de notre cours : Créer une macro dans
Excel en utilisant l’éditeur VBA. Pour être en mesure d’utiliser le bouton, nous
allons créer un module qui nous permettra d’affecter une macro à notre bouton. Il
est aussi possible de créer des formulaires, mais nous allons les explorer dans le
cadre d’un autre cours.
Pour ouvrir l’éditeur VBA :
Développeur -> Visual Basic
Pour créer un module :
Insertion -> Module
LE CORPS DU PROGRAMME
Nous allons maintenant créer le corps du programme. Il faut dire à VBA quand est-ce
que le programme comment et quand est-ce qu’il finit. De plus, nous devons lui
assigner un nom qui, dans notre cas, sera celui du bouton créer plus tôt.
Le corps d’un programme VBA se lit comme suit :
Sub nomdefonction()
… code …
End Bub
Où Sub est le type de fonction par défaut. On peut spécifier Public Sub ou Private Sub
Je vous recommande l’aide de VBA pour plus d’explication.
Exemple de nom de fonction : Bouton1_Cliquer()
LES VARIABLES
Dans VBA, les variables DOIVENT être DÉFINIES. Si elles ne sont pas définies au
préalable, la macro ne fonctionnera simplement pas.
Pour définir une variable :
Dim nomdeVariable as Typedevariable
Exemple de type de variable :
Single, Double, Integer, String, Date, etc.
*Pour avoir des informations sur leur propriété, voir le Help de VBA
IMPORTER DES DONNÉES D’UNE FEUILLE
Maintenant que nous avons des variables, il serait intéressant d’importer les données
rentrées dans notre feuille Excel et d’assigner ses valeurs à des variables.
Comment faire :
nomvariable = feuil1.cells(ligne,colonne)
ou feuil1 est le nom de la feuille que nous avons mis nos variables. Écrite de cette
manière, même si nous changeons le nom des feuilles, la première feuille créée
s’appellera feuil1. Pour appeler une feuille par son nom affiché, il faut utiliser
l’orthographe suivante :
nomvariable = sheets(nomdelafeuille).cells(ligne,colonne)
CALCUL
Pour faire des additions, soustraction, multiplication, etc., il faut simplement faire
comme dans MatLab®.
Par exemple :
facteurFriction = 0.0791 / Reynolds ^ 0.25
*Notez que VBA ajuste automatiquement les espacements et les majuscules
LES CONDITIONS
Pour effectuer un test de condition, avec un “if” par exemple, on effectue
pratiquement comme dans MatLab®
If condition Then
… code …
Else
… code …
End If
LES STRING
Les strings sont des chaines de caractères. En d’autres mots, c’est du texte. On ne
peut pas faire d’opération (+ - / *) directement avec des strings. Par contre, on
peut les assigner à des variables de type string.
Donc, il faut d’abord définir une variable de type string :
Dim variablestring as String
Ensuite, on peut soit importer du texte dans c’est variable de la même manière que
les autres types de variable ou on peut plus écrire un string de cette manière-si :
variablestring = “Les guillemettes doubles sont très important ici”
EXPORTER UN VALEURS DANS LA FEUILLE
Pour s’y prendre, on effectue la même opération que pour importer une valeur, mais
à l’inverse :
feuil1.cells(ligne,colonne) = nomvariable
Alors, la cellule pointée par la formule prendra la valeur de la variable
FORMAT DES VALEURS EXPORTER
La petite fonction format permet de changer le format dans lequel la variable sera
affichée dans la feuille Excel. Cela peut devenir très utile pour rendre nous
résultats lisibles et embellir notre feuille Excel.
On l’applique de la manière suivante :
feuil1.cells(ligne,colonne) = format(nomvariable,”0.0000”)
Écrite de cette manière, la cellule affichera 4 chiffres après la virgule. Il y a plusieurs
formats possibles. Pour plus d’information, je retour encore une fois à l’aide VBA.
CONCLUSION
J’ai fait un tour de quelques notions de base avec Visual Basic. Ceci n’est
ABSOLUMENT pas complet. Il sert seulement à être en mesure de résoudre un
petit problème simple.
Durant toute la présentation, j’ai fait référence à l’aide de VBA, celle-ci est d’un très
grand aide pour comprendre comment les formules fonctionnent.
De plus, si vous voulez effectuer une opération, mais vous être dans l’impasse, vous
ne savez pas comment vous y prendre, ou vous ne savez pas si c’est possible de
le faire, je vous conseille fortement Google. La communauté VBA est très grande.
Un petit conseil pour vos rechercher, suivez la syntaxe suivante pour de meilleurs
résultats :
Excel VBA cequevouschercher