VBA dans Excel : qu'est-ce que Visual Basic pour applications, comment l'utiliser
Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
Je souhaite prolonger les sages paroles de Steve Jobs et dire que tout le monde devrait apprendre ร programmer un ordinateur. Vous ne finirez peut-รชtre pas nรฉcessairement par travailler comme programmeur ou par รฉcrire des programmes, mais cela vous apprendra ร penser.
Qu'est-ce que Visual Basic pour Applications (VBA) ?
Visual Basic pour Applications (VBA) est un langage de programmation รฉvรฉnementiel implรฉmentรฉ par Microsoft dรฉvelopper des applications Office. VBA aide ร dรฉvelopper des processus d'automatisation, Windows API et fonctions dรฉfinies par l'utilisateur. Il vous permet รฉgalement de manipuler les fonctionnalitรฉs de l'interface utilisateur des applications hรดtes.
Avant dโentrer dans les dรฉtails, regardons ce quโest la programmation informatique dans un langage profane. Supposons que vous ayez une femme de mรฉnage. Si vous souhaitez que la femme de mรฉnage nettoie la maison et fasse la lessive. Vous lui dites quoi faire en utilisant, disons, l'anglais et elle fait le travail ร votre place. Lorsque vous travaillez avec un ordinateur, vous souhaiterez effectuer certaines tรขches. Tout comme vous avez dit ร la femme de mรฉnage de faire les tรขches mรฉnagรจres, vous pouvez รฉgalement demander ร l'ordinateur de faire les tรขches ร votre place.
Le processus consistant ร indiquer ร lโordinateur ce que vous voulez quโil fasse pour vous est ce quโon appelle la programmation informatique. Tout comme vous avez utilisรฉ l'anglais pour dire ร la femme de mรฉnage quoi faire, vous pouvez รฉgalement utiliser des dรฉclarations de type anglais pour indiquer ร l'ordinateur quoi faire. Les dรฉclarations de type anglais entrent dans la catรฉgorie des langues de haut niveau. VBA est un langage de haut niveau que vous pouvez utiliser pour plier Excel ร votre toute puissante volontรฉ.
VBA est en fait un sous-ensemble de Visual Basic 6.0 BASIC signifie Bdรฉbutants APolyvalent Ssymbolique Instruction Code.
Pourquoi VBA ?
VBA vous permet d'utiliser des instructions de type anglais pour rรฉdiger des instructions permettant de crรฉer diverses applications. VBA est facile ร apprendre et possรจde une interface utilisateur facile ร utiliser dans laquelle il vous suffit de glisser et de dรฉposer les contrรดles de l'interface. Il vous permet รฉgalement d'amรฉliorer les fonctionnalitรฉs d'Excel en le faisant se comporter comme vous le souhaitez.
Applications personnelles et professionnelles de VBA dans Excel
Pour un usage personnel, vous pouvez l'utiliser pour des macros simples qui automatiseront la plupart de vos tรขches courantes. Lisez l'article sur les macros pour plus d'informations sur la faรงon dont vous pouvez y parvenir.
Pour une utilisation professionnelle, vous pouvez crรฉer des programmes complets et puissants alimentรฉs par Excel et VBA. L'avantage de cette approche est que vous pouvez exploiter les puissantes fonctionnalitรฉs d'Excel dans vos propres programmes personnalisรฉs.
Introduction ร Visual Basic pour les applications
Avant de pouvoir รฉcrire du code, nous devons dโabord connaรฎtre les bases. Les bases suivantes vous aideront ร dรฉmarrer.
- Variable โ au lycรฉe, nous avons appris l'algรจbre. Trouvez (x + 2y) oรน x = 1 et y = 3. Dans cette expression, x et y sont des variables. Ils peuvent se voir attribuer n'importe quel numรฉro, c'est-ร -dire 1 et 3 respectivement, comme dans cet exemple. Ils peuvent รฉgalement รชtre modifiรฉs pour dire respectivement 4 et 2. En bref, les variables sont des emplacements mรฉmoire. Lorsque vous travaillez avec VBA Excel, vous devrez รฉgalement dรฉclarer des variables, tout comme dans les cours d'algรจbre.
-
Rรจgles de crรฉation de variables
- N'utilisez pas de mots rรฉservรฉs โ si vous travaillez en tant qu'รฉtudiant, vous ne pouvez pas utiliser le titre de confรฉrencier ou de directeur. Ces titres sont rรฉservรฉs aux enseignants et ร la direction de l'รฉcole. Les mots rรฉservรฉs sont les mots qui ont une signification particuliรจre dans Excel VBA et, en tant que tels, vous ne pouvez pas les utiliser comme noms de variables.
- Les noms de variables ne peuvent pas contenir d'espaces โ vous ne pouvez pas dรฉfinir une variable nommรฉe premier nombre. Vous pouvez utiliser firstNumber ou first_number.
- Utilisez des noms descriptifs โ il est trรจs tentant de donner votre nom ร une variable, mais รฉvitez cela. Utilisez des noms descriptifs, c'est-ร -dire quantitรฉ, prix, sous-total, etc. cela rendra votre code Excel VBA facile ร lire
-
Opรฉrateurs arithmรฉtiques โ Les rรจgles de Brackets de la division, de la multiplication, de l'addition et de la soustractiontracL'ordre des opรฉrations (PEMDAS) s'applique, alors n'oubliez pas de l'appliquer lorsque vous travaillez avec des expressions qui utilisent plusieurs opรฉrateurs arithmรฉtiques diffรฉrents. Tout comme dans Excel, vous pouvez utiliser
- + pour l'ajout
- โ pour soustracproduction
- * pour les multiplications
- / pour la division.
-
Opรฉrateurs logiques โ Le concept d'opรฉrateurs logiques abordรฉ dans les didacticiels prรฉcรฉdents s'applique รฉgalement lorsque vous travaillez avec VBA. Ceux-ci inclus
- Si dรฉclarations
- OR
- pas
- ET
- TRUE
- FAUX
Comment activer l'onglet Dรฉveloppeur
Vous trouverez ci-dessous le processus รฉtape par รฉtape pour activer l'onglet dรฉveloppeur dans Excel :
- Crรฉer un nouveau classeur
- Cliquez sur le bouton de dรฉmarrage du ruban
- Options
- Cliquez sur personnaliser le ruban
- Cochez la case dรฉveloppeur comme indiquรฉ dans l'image ci-dessous
- cliquez sur OK
Vous pourrez maintenant voir l'onglet DรVELOPPEUR dans le ruban
VBA Bonjour tout le monde !
Nous allons maintenant montrer comment programmer en langage de programmation VBA. Tout programme en VBA doit commencer par ยซ Sub ยป et se terminer par ยซ End sub ยป. Ici, le nom est le nom que vous souhaitez attribuer ร votre programme. Tandis que sub reprรฉsente un sous-programme que nous apprendrons dans la derniรจre partie du didacticiel.
Sub name() . . . End Sub
Nous allons crรฉer un programme VBA de base qui affiche une zone de saisie pour demander le nom de l'utilisateur puis afficher un message de bienvenue
Ce didacticiel suppose que vous avez terminรฉ le didacticiel sur Macros dans Excel et j'ai activรฉ l'onglet DรVELOPPEUR dans Excel.
- Crรฉer un nouveau cahier de travail
- Enregistrez-le dans un format de feuille de calcul compatible avec les macros Excel *.xlsm
- Cliquez sur l'onglet DรVELOPPEUR
- Cliquez sur la liste dรฉroulante INSรRER sous la barre de ruban des contrรดles
- Sรฉlectionnez un bouton de commande comme indiquรฉ dans l'image ci-dessous
Dessinez le bouton de commande n'importe oรน sur la feuille de calcul
Vous obtiendrez la fenรชtre de dialogue suivante
- Renommez le nom de la macro en btnHelloWorld_Click
- Cliquez sur le nouveau bouton
- Vous obtiendrez la fenรชtre de code VBA suivante
Entrez les codes d'instructions suivants
Dim name As String
name = InputBox("Enter your name")
MsgBox "Hello " + name
ICI,
- ยซ Dim le nom sous forme de chaรฎne ยป crรฉe une variable appelรฉe nom. La variable acceptera du texte, des caractรจres numรฉriques et autres car nous l'avons dรฉfinie comme une chaรฎne
- ยซ nom = EntrรฉeBox("Entrez votre nom")" appelle la fonction intรฉgrรฉe EntrรฉeBox qui affiche une fenรชtre avec la lรฉgende Entrez votre nom. Le nom saisi est ensuite stockรฉ dans la variable name.
- "MsgBox ยซ Bonjour ยป + nom ยป appelle la fonction intรฉgrรฉe MsgBox qui affichent Bonjour et le nom saisi.
Votre fenรชtre de code complรจte devrait maintenant ressembler ร ceci
- Fermez la fenรชtre de code
- Faites un clic droit sur le bouton 1 et sรฉlectionnez modifier le texte
- Entrer Dites bonjour
- Cliquez sur Dites bonjour
- Vous obtiendrez la zone de saisie suivante
- Entrez votre nom, c'est-ร -dire Jordan
- Vous obtiendrez la boรฎte de message suivante
Fรฉlicitations, vous venez de crรฉer votre premier programme VBA dans Excel
Exemple รฉtape par รฉtape de crรฉation d'un simple calculateur EMI dans Excel
Dans cet exercice du didacticiel, nous allons crรฉer un programme simple qui calcule l'EMI. EMI est lโacronyme de Equated Monthly Versement. Il s'agit du montant mensuel que vous remboursez lorsque vous obtenez un prรชt. L'image suivante montre la formule de calcul de l'EMI.
La formule ci-dessus est complexe et peut รชtre รฉcrite dans Excel. La bonne nouvelle est quโExcel a dรฉjร rรฉsolu le problรจme ci-dessus. Vous pouvez utiliser la fonction PMT pour calculer ce qui prรฉcรจde.
La fonction PMT fonctionne comme suit
=PMT(rate,nper,pv)
ICI,
- "taux" c'est le tarif mensuel. C'est le taux d'intรฉrรชt divisรฉ par le nombre de versements par an
- "nper" c'est le nombre total de paiements. C'est la durรฉe du prรชt multipliรฉe par le nombre de versements par an
- "pv" valeur actuelle. C'est le montant rรฉel du prรชt
Crรฉez l'interface graphique ร l'aide de cellules Excel comme indiquรฉ ci-dessous
Ajouter un bouton de commande entre les lignes 7 et 8
Donnez le nom de la macro du bouton btnCalculateEMI_Click
Cliquez sur le bouton Modifier
Entrez le code suivant
Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double
monthly_rate = Range("B6").Value / Range("B5").Value
loan_amount = Range("B3").Value
number_of_periods = Range("B4").Value * Range("B5").Value
emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)
Range("B9").Value = emi
ICI,
- ยซ Diminuer le taux mensuel en tant que cรฉlibataire,โฆ ยป Dim est le mot-clรฉ utilisรฉ pour dรฉfinir variables en VBA, Monthly_rate est le nom de la variable, Single est le type de donnรฉes qui signifie que la variable acceptera le nombre.
- "taux_mensuel = Plage("B6").Valeur / Plage("B5โณ).Valeur" Range est la fonction utilisรฉe pour accรฉder aux cellules Excel ร partir de VBA, Range ("B6"). La valeur fait rรฉfรฉrence ร la valeur dans B6
- ยซFeuille de travailFonction.Pmt(โฆ)ยป WorksheetFunction est la fonction utilisรฉe pour accรฉder ร toutes les fonctions d'Excel
L'image suivante montre le code source complet
- Cliquez sur enregistrer et fermez la fenรชtre du code
- Testez votre programme comme indiquรฉ dans l'image animรฉe ci-dessous
Comment utiliser VBA dans Excel Exemple
Les รฉtapes suivantes expliqueront comment utiliser VBA dans Excel.
รtape 1) Ouvrez votre รฉditeur VBA
Sous l'onglet Dรฉveloppeur du menu principal, cliquez sur l'icรดne ยซ Visual Basic ยป pour ouvrir votre รฉditeur VBA.
รtape 2) Sรฉlectionnez la feuille Excel & Double cliquez sur la feuille de travail
Il ouvrira un รฉditeur VBA, ร partir duquel vous pourrez sรฉlectionner la feuille Excel sur laquelle vous souhaitez exรฉcuter le code. Pour ouvrir l'รฉditeur VBA, double-cliquez sur la feuille de calcul.
Cela ouvrira un รฉditeur VBA sur le cรดtรฉ droit du dossier. Il apparaรฎtra comme un espace blanc.
รtape 3) รcrivez tout ce que vous souhaitez afficher dans le messageBox
Dans cette รฉtape, nous allons voir notre premier programme VBA. Pour lire et afficher notre programme, nous avons besoin d'un objet. Dans VBA, cet objet ou support dans un messageBox.
- Commencez par รฉcrire ยซ Sub ยป puis le nom de votre programme (Guru (99)
- รcrivez tout ce que vous souhaitez afficher dans le messageBox (guru99-learning est amusant)
- Terminez le programme par End Sub
รtape 4) Cliquez sur le bouton vert Exรฉcuter en haut de l'รฉditeur
ร l'รฉtape suivante, vous devez exรฉcuter ce code en cliquant sur le bouton vert Exรฉcuter en haut du menu de l'รฉditeur.
รtape 5) Sรฉlectionnez la feuille et cliquez sur le bouton ยซ Exรฉcuter ยป
Lorsque vous exรฉcutez le code, une autre fenรชtre apparaรฎtra. Ici, vous devez sรฉlectionner la feuille oรน vous souhaitez afficher le programme et cliquer sur le bouton ยซ Exรฉcuter ยป
รtape 6) Afficher le msg dans MsgBox
Lorsque vous cliquez sur le bouton Exรฉcuter, le programme sera exรฉcutรฉ. Il affichera le msg dans MsgBox.
Tรฉlรฉchargez le fichier Excel ci-dessus. Code
Rรฉsumรฉ
Formulaire complet VBA : Visual Basic pour application. Il s'agit d'un sous-composant du langage de programmation Visual Basic que vous pouvez utiliser pour crรฉer des applications dans Excel. Avec VBA, vous pouvez toujours profiter des puissantes fonctionnalitรฉs dโExcel et les utiliser dans VBA.



















