Comment ajouter VBA dans MS Office?

21

J'ai vu des messages montrant des réponses qui utilisent du code / macros VBA ( Visual Basic pour Applications ), cependant, j'ai également noté des commentaires supplémentaires par la suite sur la façon d'utiliser le VBA (comment l'implémenter et l'exécuter). J'espère que cela aidera simplement à exécuter le code.

Donc, ma question est:

J'ai du code VBA. Comment ajouter VBA à mon projet MS Excel ou Word ou Outlook?

Dave
la source
1
J'essaie de créer une question canonique. N'hésitez pas à ajouter d'autres questions que je peux référencer / nous pouvons fermer, ajouter des balises, ou modifier la question ou la réponse pour l'améliorer, ou pour publier des réponses.
Dave
Connexes: superuser.com/q/794590/346288 - simple "kickstart" pour déboguer le code VBA.
Hannu

Réponses:

19

Pour ouvrir l'éditeur VBA dans n'importe quel produit Microsoft Office 1 , appuyez sur Alt+ F11.

Ensuite, vous devez déterminer comment vous souhaitez que votre VBA soit implémenté. Voulez-vous qu'il soit déclenché par un événement dans le logiciel, tel que le fichier en cours d'enregistrement ou la sélection sur la feuille de calcul en cours de modification? Ou voulez-vous pouvoir exécuter le code vous-même quand vous le souhaitez?

S'il s'agit du premier, jetez un œil à l'Explorateur de projets et recherchez le projet associé au fichier sur lequel vous travaillez actuellement.

Si vous souhaitez que votre code soit déclenché par un événement associé à une feuille particulière (par exemple, le code doit s'exécuter à chaque fois qu'une valeur change sur la feuille Sheet1), vous devez double-cliquer sur cet objet feuille spécifique répertorié dans l'Explorateur de projets. Cela ouvrira une zone de texte où vous pourrez coller le code. Si l'événement est associé à l'ensemble du classeur au lieu d'une feuille particulière (par exemple, le code doit s'exécuter lorsque le classeur est enregistré), double-cliquez sur l' ThisWorkbookobjet dans l'Explorateur de projets.

Si toutefois vous ne souhaitez pas que votre code soit déclenché par un événement, vous souhaiterez placer le code dans un module. S'il existe un autre code dans le document ou le classeur, par exemple à partir d'une macro enregistrée, il apparaîtra dans un module. S'il existe un module existant, dans la plupart des cas, vous souhaiterez coller votre code dans le même module en dessous de tout code existant. Les modules existants seront répertoriés dans l'Explorateur de projets.

Si aucun module n'existe, vous devrez en insérer un nouveau. Pour ce faire, choisissez Moduledans le Insertmenu déroulant de la fenêtre de l'éditeur VBA. Cela va insérer un nouveau module et afficher une fenêtre de texte à l'intérieur de la fenêtre de l'éditeur. Collez-y votre code.

Si vous souhaitez exécuter le code dans un module, vous avez quelques options. L'une consiste à exécuter le code à partir de la fenêtre de l'éditeur VBA. Vous pouvez simplement placer le curseur quelque part dans le code que vous souhaitez exécuter et appuyer sur F5, ou cliquer sur le bouton Icône «jouer» - triangle vert pointant vers la droite(Exécuter) dans la barre d'outils sous la barre de menus, pour exécuter le code.

Une autre option consiste à utiliser la Macrosboîte de dialogue. Pour l'ouvrir, effectuez l'une des opérations suivantes:

  • sur l' Viewonglet du ruban, dans le Macrosvolet (à l'extrême droite), cliquez sur le Macrosbouton
  • sur l' Developeronglet, dans le Codevolet (à l'extrême gauche), cliquez sur le Macrosbouton
  • appuyez sur Alt+F8

La boîte de dialogue ressemble à ceci:

entrez la description de l'image ici

Dans l'exemple ci-dessus, vous pouvez exécuter YourCodepar

  • en le sélectionnant dans la liste puis en cliquant Run, ou
  • en le sélectionnant dans la liste et en double-cliquant dessus.

______
1 selon Puis-je utiliser VBA dans Excel 2010 Starter Edition? , vous ne pouvez pas utiliser VBA dans Excel 2010 Starter Edition.

Excellll
la source
4

Ces étapes sont effectuées à l'aide d'Office 2010 (sauf indication contraire), mais elles devraient également être suffisamment similaires pour 2007 et 2013. Je le fais avec Excel mais les différences devraient être subtiles.

La première étape consiste à ajouter l'onglet Développeur au ruban.

Dans Office 2007,

  1. Cliquez sur "Menu Office" -> " Options (programme) ". («Menu Office» fait référence au Bouton Officebouton dans le coin supérieur gauche.) Cela fait apparaître un menu qui a un bouton «Options Excel», «Options Word», etc., en bas.

  2. Dans la boîte de dialogue des options, cochez «Afficher l'onglet développeur dans le ruban»: Menu du bureau et cliquez sur «OK».

  3. Votre nouvel onglet "Développeur" devrait s'afficher.

Dans Office 2010 et 2013,

  1. Cliquez sur Fichier -> Options .

  2. Choisissez Personnaliser le ruban .

  3. Sur le côté droit, recherchez Developer et cochez la case. Cliquez OK .

  4. Votre nouvel onglet devrait s'afficher, cliquez dessus, puis cliquez sur Visual Basic .

Un écran intimidant s'affiche, qui est la fenêtre d'édition du code VBA.

Note latérale : Vous pouvez également ouvrir la fenêtre d'édition du code VBA en utilisant le raccourci clavier Alt+ F11(même si l'onglet Développeur ne s'affiche pas).

À l'intérieur de la fenêtre d'édition de code, sur le côté gauche, vous devriez avoir un volet appelé Project-VBAProject. En cela, sous les objets Microsoft Excel (ce nom est différent selon le programme (Word, Outlook, etc.) que vous utilisez) est une «chose» appelée ThisWorkbook. Double-cliquez sur ThisWorkbook

Dans cet exemple, nous utiliserons le code suivant.

sub WarnMeOfDanger()
   MsgBox "Argh, a dragon is behind you!"
end sub 

Tout ce qui précède consiste à afficher une boîte de dialogue pour afficher un message à l'écran.

Copiez le code et collez-le dans la feuille blanche de la fenêtre d'édition du code VBA.

Maintenant, en haut de la fenêtre de l'éditeur de code VBA, cliquez sur le bouton de lecture vert et vous devriez voir un message.

Donc, chaque fois que vous voulez exécuter le code, revenez à cet écran et appuyez sur play!

Cependant, vous préférerez peut-être ajouter votre propre bouton. Si vous souhaitez ajouter un bouton, notez tout d'abord la première ligne du code WarnMeOfDanger(). C'est en fait le nom de notre « sous-programme ». Nous nous en souviendrons pour plus tard. Maintenant, fermez simplement la fenêtre que vous utilisiez (le code est automatiquement enregistré).

Toujours dans le ruban du développeur, cliquez sur Insérer et choisissez le premier élément, qui est un bouton. Le curseur de votre souris devient une petite croix (pas en colère, je veux dire son apparence). Dessinez la taille du bouton. Une nouvelle fenêtre apparaît, et elle devrait nous montrer l'option d'assigner le bouton à une fonction. Dans ce cas, nous devrions voir quelque chose comme ThisWorkbook.WarnMeOfDanger. Cliquez dessus et cliquez sur OK .

Maintenant, si vous appuyez sur votre nouveau bouton, le message s'affichera. Faites un clic droit sur le bouton pour obtenir des options pour le déplacer, changer le texte, redimensionner etc.

Dave
la source
Question et réponse par la même personne? Étrange .......
Prasanna
2
@Prasanna, lorsque vous posez une question, vous avez la possibilité d'y répondre immédiatement. N'oubliez pas, c'est un site de questions / réponses, donc tant qu'il est pertinent et utile, je pense qu'il est accepté. Il y en a quelques-uns autour.
Dave
Je ne le savais pas jusqu'à présent. Merci pour l'information
Prasanna
2
Vous pouvez remplacer les premières étapes pour accéder à la fenêtre de code par un simple "Alt + F11". :)
Ƭᴇcʜιᴇ007
@ Ƭᴇcʜιᴇ007, n'hésitez pas à modifier :) :)
Dave