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

Activer l'onglet Dรฉveloppeur

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

Programme VBA Bonjour tout le monde

Dessinez le bouton de commande n'importe oรน sur la feuille de calcul

Vous obtiendrez la fenรชtre de dialogue suivante

Programme VBA Bonjour tout le monde

  • Renommez le nom de la macro en btnHelloWorld_Click
  • Cliquez sur le nouveau bouton
  • Vous obtiendrez la fenรชtre de code VBA suivante

Programme VBA Bonjour tout le monde

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

Programme VBA Bonjour tout le monde

  • Fermez la fenรชtre de code
  • Faites un clic droit sur le bouton 1 et sรฉlectionnez modifier le texte
  • Entrer Dites bonjour

Programme VBA Bonjour tout le monde

  • Cliquez sur Dites bonjour
  • Vous obtiendrez la zone de saisie suivante

Programme VBA Bonjour tout le monde

  • Entrez votre nom, c'est-ร -dire Jordan
  • Vous obtiendrez la boรฎte de message suivante

Programme VBA Bonjour tout le monde

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.

Crรฉation d'un calculateur EMI simple dans Excel

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

Crรฉation d'un calculateur EMI simple dans Excel

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

Crรฉation d'un calculateur EMI simple dans Excel

  • Cliquez sur enregistrer et fermez la fenรชtre du code
  • Testez votre programme comme indiquรฉ dans l'image animรฉe ci-dessous

Crรฉation d'un calculateur EMI simple dans Excel

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.

Utiliser VBA dans Excel

ร‰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.

Utiliser VBA dans Excel

Cela ouvrira un รฉditeur VBA sur le cรดtรฉ droit du dossier. Il apparaรฎtra comme un espace blanc.

Utiliser VBA dans Excel

ร‰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

Utiliser VBA dans Excel

ร‰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.

Utiliser VBA dans Excel

ร‰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 ยป

Utiliser VBA dans Excel

ร‰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.

Utiliser VBA dans Excel

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.

Rรฉsumez cet article avec :