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 Les méthodes de division, multiplication, addition et soustraction (BODMAS) s'appliquent, alors n'oubliez pas de les appliquer lorsque vous travaillez avec des expressions qui utilisent plusieurs opérateurs arithmétiques différents. Comme dans Excel, vous pouvez utiliser
    • + pour l'ajout
    • – pour la soustraction
    • * 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
    • ne pas
    • ET
    • VRAI
    • 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.

  • Tout d’abord, écrivez « Sub » puis votre « nom de programme » (Guru99)
  • É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 code Excel ci-dessus

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.