Guide global VBA : Macros et Vba sur Excel tous les niveaux
Bienvenue dans ce tutoriel VBA écrit par ZA
tutoriel excel vba / tutoriel excel vba gratuit / cours excel vba gratuit /Excel VBA pour tout le monde ./tuto excel en ligne
Macros et Vba sur Excel, des débutants aux ninjas Avez-vous entendu parler des macros Excel et de VBA mais n’avez-vous jamais abordé cette partie avancée du programme ? Saviez-vous qu’en plus des fonctions standard typiques, il est possible de personnaliser le comportement de vos feuilles de calcul et d’implémenter de vrais programmes ? Permettez-moi de vous expliquer l’une des méthodes les plus puissantes, mais parfois encore plus difficiles, d’utilisation d’Excel, une méthode qui vous offrira sûrement des personnalisations sans fin mais qui, une fois apprise, vous ne voudrez certainement pas revenir en arrière.
Introduction
Si vous travaillez régulièrement avec des programmes de traitement de texte, des bases de données ou des applications de traitement de feuilles de calcul, vous savez à quel point il peut être fastidieux de saisir les mêmes directives et d’exécuter les mêmes commandes encore et encore.
Des séquences complexes d’opérations répétitives peuvent tester votre patience. Les macros enregistrent une séquence de commandes afin qu’elles puissent être exécutées automatiquement par l’utilisateur travaillant sur des feuilles de calcul.
Bien que les macros soient écrites dans un langage de programmation (généralement VBA), des connaissances en programmation sont généralement requises en partie, car de nombreux programmes, tels qu’Excel, peuvent enregistrer des macros simples et fournir une assistance au développement. Tant dans les feuilles Excel que dans le package Office en général, les macros sont l’une des fonctionnalités les plus importantes.
Les Macros
Microsoft Excel est la solution la plus demandée pour le traitement, l’analyse et la présentation des données. À l’aide de feuilles de calcul Excel, qui sont un élément clé de la suite Microsoft, les utilisateurs ont travaillé avec ce programme pendant des années pour créer des budgets, des calendriers professionnels et une foule d’autres projets. En fait, Excel est également utilisé dans le monde des affaires dans de multiples tâches telles que des projets, le calcul des heures de travail, l’élaboration de budgets, la représentation graphique des ventes, des profits ou des pertes.
Toute personne familiarisée avec le programme apprend à apprécier les différentes fonctions, mais la plupart des gens développent rapidement une réticence à répéter constamment des tâches routinières ou des tâches répétitives qui ne peuvent pas être facilement exécutées à l’aide de l’interface utilisateur standard visible dans le panneau de calcul.
Il n’est donc pas étonnant que la possibilité de créer des macros dans Excel soit l’une des fonctions les plus utilisées dans Excel. À cet effet, un environnement de programmation (IDE) est disponible dans le logiciel, conçu pour programmer en VBA (Visual Basic), ce qui augmente considérablement la fonctionnalité générale et le large éventail d’actions dont dispose le logiciel du package Office. Il est donc possible d’implémenter des algorithmes même complexes dans un programme qui est généralement utilisé en ne prenant en compte que les fonctions standards, mais qui possède en réalité une souplesse lui permettant d’effectuer plusieurs tâches.
Je vous montre l’IDE où est écrit le code Vba et donc les macros.
Activer les macros dans Excel
Il existe deux façons d’implémenter des macros dans Excel :
Des macros peuvent être enregistrées. De cette manière, un code VBA automatique sera produit (qui représente les actions effectuées par notre macro) qui pourra ensuite être modifié.
Les macros peuvent être implémentées directement dans VBA par l’utilisateur.
Pour activer le menu Excel dédié aux macros procédez comme suit :
Faites un clic droit sur le menu et sélectionnez Personnaliser le ruban.
- Sélectionnez l’élément Développement. Un nouveau menu Excel apparaîtra.
- Maintenant, pour écrire une macro avec du code Vba, sélectionnez simplement l’icône Visual Basic.
Qu’est-ce que VBA
Nous avons dit que VBA est le langage de programmation d’Excel. Fondamentalement, c’est quelque chose qui va au-delà des fonctions habituelles, en effet, avec VBA, nous avons la possibilité de créer des fonctions personnalisées à utiliser dans nos feuilles de calcul et, plus important encore, nous avons la possibilité d’automatiser les opérations que nous effectuons fréquemment, de manière à les effectuer rapidement quand nous en avons besoin.
Ainsi, si, par exemple, dans votre feuille de calcul, vous trouvez une liste de noms écrits en minuscules et que vous souhaitez les mettre en majuscules, vous pouvez utiliser des formules bien connues telles que MAJUSCULE, MINUSCULE et MAJUSCULE. Mais si vous ne connaissiez pas leur existence, et que vous êtes des programmeurs VBA expérimentés, vous pouvez créer des fonctions ad hoc qui font pour vous ce que vous voulez et vous pouvez les utiliser de manière récurrente. Ainsi, si, par exemple, vous appelez votre fonction VBA avec le nom MAJUSCULE, vous pouvez l’appeler dans une cellule comme = MAJUSCULE (A1).
Guide Global VBA Excel
La notion de variables
En matière de programmation, on commence généralement par parler de variables. Les variables, ainsi que d’autres constructions ou mécanismes, sont des composants utilisés dans tous les langages.
Que sont donc les variables ? Les variables sont des zones mémoire utilisées pour contenir des informations. Imaginez donc une zone mémoire dans laquelle un entier ou une virgule, un mot, une date peuvent être stockés. Chaque fois que nous le voulons, nous pouvons stocker de nouvelles données sur ce petit morceau de mémoire qui porte un nom. Cette petite portion de mémoire est donc appelée une variable.
Comme vous pouvez le voir dans l’exemple, étant donné la RAM de notre ordinateur (la mémoire dans laquelle les informations sont stockées), nous instancions (créons) une variable que nous appellerons A et lui donnerons la valeur 33. Donc cette zone mémoire appelée A seront conservés pendant toute la durée de notre programme. L’important est que nous puissions changer le contenu quand nous le voulons. Ainsi, au lieu de 33 par exemple on peut stocker 54.
La variable est une zone mémoire dans laquelle est stockée une valeur qui peut évoluer dans le temps. Un nom est donné à cette zone mémoire.
Comment les variables sont-elles instanciées en VBA ?
Il faut d’abord définir le type de variable, qui peut être :
Entier : sont des variables entières, des zones mémoire pouvant contenir des nombres sans virgule tels que : 1, 3, 40, 25….
Dim a As Integer
a = 3
Dans l’exemple, une variable nommée a est dimensionnée comme un type entier et reçoit la valeur 3 à la ligne suivante.
String
Ce sont les variables de type string, donc des zones mémoire qui contiendront des mots, des phrases et des lettres. Dans ces zones de mémoire peuvent également se trouver des nombres et des caractères spéciaux, mais les nombres ne sont pas considérés comme des nombres en tant que tels (et donc des données sommables, soustractables, multiplicables), mais comme de véritables textes. Les valeurs de ces variables, à affecter, doivent être entre deux guillemets « … ».
Ex : « Ce site est vraiment utile » ou « Il y a 5 poules dans le pollarium » ou « 5 ».
Dim a As String
a = "5 poulets dans un poulailler"
Ici, nous avons déclaré la variable String et dans la ligne suivante, nous lui avons attribué la chaîne “5 poulets dans un poulailler”. Plus tard, nous verrons quel type d’opérations peuvent être effectuées sur ces chaînes.
Double
Si vous déclarez une variable de ce type, vous indiquez à Excel que vous souhaitez utiliser une zone mémoire pour contenir une valeur à virgule flottante. Des exemples de valeurs à virgule flottante sont : 5,32 ou 2,65 ou 900,345 et ainsi de suite.. Fondamentalement, tous ces nombres qui ne sont pas des entiers.
Dim a As Double
x = 7.56
Nous avons déclaré une nouvelle variable a en tant que type double, puis nous lui avons attribué la valeur 7,56.
Booléen :
les variables booléennes ne peuvent contenir que deux types de valeurs, Vrai et Faux, c’est-à-dire Vrai ou Faux. Ce type de variables est utilisé pour prendre des décisions dans le programme, en effet, par exemple, le contenu de l’une de ces variables pourrait être évalué et ensuite effectuer une certaine opération dans le déroulement du programme en fonction de sa valeur, qui, comme nous l’avons dit, pourrait être vrai ou faux.
Dim décision As Boolean
décision = Vrai
Dans l’exemple, nous avons instancié la variable de décision et lui avons attribué la valeur True.
VBA : Les opérations
Voyons d’abord quels sont les opérateurs les plus courants sur Excel VBA :
Exemple de code VBA avec des opérateurs.
Dim a As Integer
a = 10
Dim b As Integer
b = 7
Dim c As Integer
c = a + b
Comme vous pouvez le voir dans l’exemple, 2 variables sont créées, a et b. Chacun d’eux se voit attribuer une valeur. Ensuite, la variable c sera créée et celle-ci se verra attribuer la somme de a et b, puis 17.
La construction SI
La construction If compare deux valeurs, si le résultat de la comparaison est vrai, elle effectue une certaine opération.
Le morceau de code ci-dessus est un programme qui vérifie la valeur de la cellule A1. Si celui-ci est supérieur à 10, la chaîne « Cellule A1 supérieure à 10 » sera écrite dans la cellule B1.
Passons en revue le code ligne par ligne. Dans la première chaîne, la variable result est déclarée comme une chaîne qui contiendra le texte à insérer dans la cellule B1. La deuxième chaîne déclare la variable de cellule sous la forme d’un nombre entier, suivie de la fonction Plage (“A1”). La valeur prend le contenu de la cellule A1 et l’affecte à la variable de cellule.
À ce stade, la comparaison avec If a lieu. Seulement si le contenu de la variable cellule (et donc le contenu de A1) est > 10, ce qui vient après le mot clé Then est exécuté : la chaîne “Cellule A1 supérieure à 10” sera insérée dans la variable résultat.
Dans la dernière ligne, le contenu du résultat est saisi dans la cellule “B1”. La cellule est sélectionnée via l’attribut Value de l’objet retourné par la fonction Range().
La construction If – Else
Ce type de construit peut être défini comme un raffinement du construit précédent. En effet, il peut arriver que la clause If ne soit pas satisfaite et que nous souhaitions donc effectuer une opération alternative au corps If. Voyons la syntaxe avec un exemple :
Comme vous pouvez le voir dans l’exemple, le code de l’exemple précédent est utilisé, avec la seule variante que dans le cas où le corps du If ne se produit pas, ce qui est entre Else et End If sera exécuté.
SUB
Nous avons vu les constructions fondamentales, qui nous permettent de réaliser les tâches les plus simples. Voyons maintenant ce qu’il faut faire pour pouvoir utiliser les morceaux de code créés et enfin utiliser la première Macro.
Le mot-clé Sub, sur Excel, et précisément en Vba, crée une fonction mais sans valeur de retour. Cela signifie que le code dans les exemples ci-dessus, pour être exécuté, doit être à l’intérieur d’un bloc Sub, puis être appelé par un bouton, par exemple.
Tout ce qui se trouve entre Sub et End Sub peut être appelé avec le nom de la comparaison, lorsque nous cliquons sur un bouton, par exemple. En fait, en créant un bouton sur notre feuille de calcul, nous pouvons lui attribuer la macro de comparaison que nous venons de créer.
Exemples de macros en VBA
Étant donné un ensemble de noms écrits en minuscules, nous voulons les mettre en majuscules. Nous allons le faire en créant une macro avec un nom en majuscule.
Nous ouvrons l’éditeur VBA comme indiqué ci-dessus et écrivons le Sub que nous retrouverons ensuite dans la liste de nos macros. Cliquez sur Développement puis sur Visual Basic et collez ce morceau de code.
Capital sub ()
Cell size As Range
Cell set = Selection
For Each cell In cells
cell.Value = UCase (cell)
Next cell
End Sub
Nous avons créé le Sub majuscule et la variable Cell Range. À ce stade, nous lui attribuons l’objet Selection, qui contient les cellules sélectionnées. En faisant défiler les cellules avec un For, on peut les convertir avec UCase qui les transforme en majuscules.
- Cliquez sur Macro et vous verrez notre Macro majuscule créée :
3 Créez un bouton dans votre feuille de calcul.
4. Ensuite, vous pouvez dessiner un bouton comme suit sur la feuille Excel
5. Après avoir sélectionné les cellules à convertir et appuyé sur le bouton créé, voici le résultat que nous obtenons.
conclusion : Guide global VBA Excel
En définitive, comme nous l’avons vu, les macros sont un outil très polyvalent pour augmenter indéfiniment le potentiel d’Excel en utilisant le langage VBA. Ce que vous pouvez faire dépend du potentiel de l’utilisateur, qui devient en effet un programmeur avec la plate-forme VBA.
Y a-t-il encore beaucoup à savoir ?
Il reste encore beaucoup à savoir, mais la faim vient avec le fait de manger et ce qui, dans cet article, n’en est qu’un aperçu doit sans aucun doute être approfondi et étudié.