Le meilleur guide VBA (pour les débutants) dont vous aurez besoin


La plate-forme Programmation VBA qui fonctionne sur presque tous les produits Microsoft Office est l'un des outils les plus puissants que l'on puisse utiliser pour améliorer leur utilisation de ces produits.

Ce guide VBA pour les débutants vous montreront comment ajouter le menu Développeur à votre application Office, comment entrer dans la fenêtre de l'éditeur VBA et comment les instructions et les boucles VBA de base fonctionnent pour que vous puissiez commencer à utiliser VBA dans Excel, Word, Powerpoint, Outlook et OneNote .

Ceci Le guide VBA utilise la dernière version des produits Microsoft Office. Si vous avez une version antérieure, vous pouvez voir quelques légères différences par rapport aux captures d'écran.

Comment activer et utiliser l'éditeur VBA

Dans n'importe quel bureau produits utilisés dans ce guide, vous remarquerez peut-être que vous n'avez pas le menu développeur référencé. Le menu développeur est uniquement disponible dans Excel, Word, Outlook et Powerpoint. OneNote ne propose pas d'outil pour modifier le code VBA à partir de l'application, mais vous pouvez toujours référencer l'API OneNote pour interagir avec OneNote à partir d'autres programmes Office.

Vous apprendrez comment procéder dans notre prochain guide Advanced VBA.

  • Pour activer le menu Développeur dans n'importe quel produit de bureau, sélectionnez le Fichieret sélectionnez Optionsdans le menu de navigation de gauche.
  • Vous verrez une fenêtre contextuelle du menu Options. Sélectionnez Personnaliser le rubandans le menu de navigation de gauche.
  • La liste de gauche comprend tous les menus et commandes de menu disponibles dans cette application Office. La liste de droite est celle qui est actuellement disponible ou activée.

    In_content_1 all: [300x250] / dfp: [640x360]->
    • Vous devriez voir Developer dans la liste de droite, mais il ne sera pas activé. Cochez simplement la case pour activer le menu Développeur.
      • Si vous ne voyez pas Développeurdisponible sur la droite, changez la gauche Choisir les commandesde la liste déroulante en Toutes les commandes. Recherchez Développeurdans la liste et sélectionnez Ajouter>>au centre pour ajouter ce menu au ruban.
      • Sélectionnez OKlorsque vous avez terminé.
      • Une fois le menu Développeur activé, vous pouvez revenir à la fenêtre principale de votre application et sélectionner Développeurdans le menu supérieur.
      • Sélectionnez ensuite Afficher le codedans le groupe Contrôles du ruban pour ouvrir la fenêtre de l'éditeur VBA.
        • Cela ouvrira la fenêtre de l'éditeur VBA où vous pourrez taper le code que vous apprendrez dans les prochaines sections.
          • Essayez d'ajouter le menu Développeur à quelques-unes des applications Office que vous utilisez quotidiennement . Une fois que vous êtes à l'aise pour ouvrir la fenêtre de l'éditeur VBA, passez à la section suivante de ce guide.
          • Conseils généraux de programmation VBA pour les débutants

            Vous remarquerez que lorsque l'éditeur VBA s'ouvre, les options de navigation dans le panneau de gauche sont différentes d'une application Office à l'autre.

            En effet, les objets disponibles où vous pouvez placer du code VBA dépendent des objets présents dans l'application. Par exemple, dans Excel, vous pouvez ajouter du code VBA aux objets de classeur ou de feuille. Dans Word, vous pouvez ajouter du code VBA aux documents. Dans Powerpoint, uniquement pour les modules.

            Alors, ne soyez pas surpris par les différents menus. La structure et la syntaxe du code VBA sont les mêmes dans toutes les applications. La seule différence est les objets que vous pouvez référencer et les actions que vous pouvez entreprendre sur ces objets via le code VBA.

            Avant de plonger dans les différents objets et actions que vous pouvez entreprendre via le code VBA, commençons par regardez la structure et la syntaxe VBA les plus courantes que vous pouvez utiliser lorsque vous écrivez du code VBA.

            Où mettre le code VBA

            Lorsque vous êtes dans le Éditeur VBA, vous devez utiliser les deux listes déroulantes en haut de la fenêtre d'édition pour choisir l'objet auquel vous voulez attacher le code et quand vous voulez que le code s'exécute.

            Par exemple, dans Excel, si vous choisissez Feuille de calculet Activer, le code s'exécutera à chaque ouverture de la feuille de calcul.

            Autre feuille de calcul les actions que vous pouvez utiliser pour déclencher votre code VBA incluent lorsque la feuille de calcul change, lorsqu'elle est fermée (désactivée), lorsque le calcul de la feuille de calcul est exécuté, et plus encore.

            Lorsque vous ajoutez du code VBA dans l'éditeur, faites toujours assurez-vous de placer votre code VBA sur l'objet et d'utiliser l'action correcte que vous souhaitez utiliser pour déclencher ce code.

            Instructions IF VBA

            Un IF fonctionne dans VBA comme dans tout autre langage de programmation.

            La première partie de l'instruction IF vérifie si une condition ou un ensemble de conditions est vrai. Ces conditions peuvent être jointes par un opérateur ET ou OU pour les lier ensemble.

            Un exemple serait de vérifier si une note dans une feuille de calcul est supérieure ou inférieure à une note de «réussite» et d'attribuer la réussite ou échouer le statut à une autre cellule.

            Si Cellules (2, 2)>75 Alors Cellules (2, 3) = "Réussi" Sinon Cellules (2, 3) = "Echouer"

            Si vous ne voulez pas la totalité de l'instruction sur une seule ligne, vous pouvez la diviser en plusieurs lignes en ajoutant un symbole "_" à la fin des lignes.

            Si les cellules (2, 2)>75 Alors _
            Cellules (2, 3) = "Pass" Else _
            Cellules (2, 3) = "Échec"

            L'utilisation de cette technique peut souvent rendre le code beaucoup plus facile à lire et à déboguer.

            VBA pour les prochaines boucles

            Les instructions IF sont idéales pour les comparaisons simples, comme l'exemple ci-dessus de regarder une seule cellule. Mais que se passe-t-il si vous voulez parcourir une plage entière de cellules et faire la même instruction IF sur chacune?

            Dans ce cas, vous auriez besoin d'une boucle FOR.

            Pour ce faire, vous devez utiliser la longueur d'une plage et parcourir cette longueur en fonction du nombre de lignes contenant des données.

            Pour ce faire, vous devez pour définir la plage et les variables de cellule, et les parcourir. Vous devrez également définir un compteur pour pouvoir afficher les résultats sur la ligne appropriée. Ainsi, votre code VBA aurait d'abord cette ligne.

            Dim rng As Range, cell As Range
            Dim rowCounter as Integer

            Définissez la taille de la plage comme suit.

            Set rng = Range ("B2: B7")
            rowCounter = 2

            Enfin, vous pouvez créer votre boucle FOR pour parcourir chaque cellule de cette plage et faire la comparaison.

            For Each cell In rng
            If cell.Value > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Next cell

            Une fois ce Script VBA exécuté, vous voyez le donne la feuille de calcul réelle.

            Boucles While VBA

            Une boucle While boucle également à travers une série d'instructions, tout comme la boucle FOR, mais la condition du bouclage pour continuer est une condition restante true.

            Par exemple, vous pouvez écrire la même boucle FOR ci-dessus, comme une boucle WHILE, en utilisant simplement la variable rowCounter comme suit.

            While rowCounter < rng.Count + 2
            If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Wend

            Remarque: la limite de terminaison rng.Count + 2est requise car le compteur de lignes commence à 2 et doit se terminer sur la ligne 7 à la fin des données. Cependant, le compte de la plage (B2: B7) n'est que de 6, et la boucle While ne se terminera que lorsque le compteur sera PLUS GRAND que le compteur - la dernière valeur rowCounter doit donc être 8 (ou rng.Count + 2).

            Vous pouvez également configurer la boucle While comme suit:

            While rowCounter <= rng.Count + 1

            Vous pouvez incrémentez uniquement le nombre de plages (6) de 1, car une fois que la variable rowCounter atteint la fin des données (ligne 7), la boucle peut se terminer.

            Boucles VBA Do While et Do Until

            Les boucles Do While et Do Until sont presque identiques aux boucles While, mais fonctionnent légèrement différemment.

            • La boucle Whilevérifie si une condition est vraie au début de la boucle.
            • La boucle Do-Whilevérifie si une condition est vraie après avoir exécuté les instructions dans la boucle.
            • La boucle Do-Untilvérifie si une condition est toujours fausse après l'exécution de la boucle.
            • Dans ce cas, vous devez réécrire t La boucle While ci-dessus comme suit, comme une boucle Do-While.

              Do
              If Cells(rowCounter, 2) > 75 Then _ Cells(rowCounter, 3) = "Pass" Else _ Cells(rowCounter, 3) = "Fail" rowCounter = rowCounter + 1 Loop While rowCounter < rng.Count + 2

              Dans ce cas, la logique ne change pas beaucoup, mais si vous voulez vous assurer que la logique la comparaison a lieu après l'exécution de toutes les instructions (ce qui permet à toutes de s'exécuter au moins une fois), alors une boucle Do-While ou Do-Until est la bonne option.

              Instructions VBA Select Case

              Le dernier type d'instruction logique que vous devrez comprendre pour commencer à structurer votre code VBA sont les instructions Select Case.

              Étant donné l'exemple ci-dessus, disons que vous voulez avoir une méthode de notation qui ne soit pas simplement un échec. Au lieu de cela, vous souhaitez attribuer une note de A à F.

              Vous pouvez le faire avec l'instruction Select Case suivante:

              For Each cell In rng
              Select Case cell Case 95 To 100 Cells(rowCounter, 3) = "A" Case 85 To 94 Cells(rowCounter, 3) = "B" Case 75 To 84 Cells(rowCounter, 3) = "C" Case 65 To 74 Cells(rowCounter, 3) = "D" Case 0 To 64 Cells(rowCounter, 3) = "F" End Select rowCounter = rowCounter + 1 Next cell

              La feuille de calcul résultante après l'exécution de ce script VBA ressemble à celui ci-dessous.

              Vous savez maintenant tout ce que vous devez savoir pour commencer à utiliser VBA dans vos applications Microsoft Office.

              Les 7 étapes pour créer des tableaux croisés dynamiques comme un pro avec Excel

              Articles Similaires:


              29.01.2020