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