A A

Comment utiliser une sous-routine dans Excel Visual Basic

Catégorie: Microsoft excel

Vues: 69 vues

Langage de programmation du Microsoft Excel Visual Basic pour Applications (VBA), est un outil puissant qui est accessible à toute personne, y compris les non programmeurs. Avec les macros et VBA, vous pouvez réduire les tâches longues secondes, créer des formulaires utilisateur interactif ou créer des applications pour vos amis et collègues de travail. Dans VBA, une sous-routine (aussi appelée une « sous-procédure ») est utilisée pour exécuter une tâche au sein d’un programme. Il est similaire à une fonction, mais ne renvoie pas de valeur. Chaque sous-routine commence par une instruction Sub et se termine par une instruction End Sub.

Difficulté : Moyennement difficile

Instructions

  1. Ouvrez l’éditeur Visual Basic. Dans Excel 2003, dans le menu, sélectionnez « Affichage », « Barres d’outils, », « Visual Basic ». La nouvelle barre d’outils, cliquez sur l’icône de l’éditeur Visual Basic. Dans Excel 2007, sous l’onglet Développeur, dans le groupe de Code, cliquez sur « Visual Basic ».
  2. Insérez un nouveau module. Dans le menu, cliquez sur « Insérer », « Module ». Vous verrez le nouveau module répertorié dans l’Explorateur de projet avec le nom « Module1. »
  3. Insérez une nouvelle procédure. Dans le menu, cliquez sur « Insérer », « Procédure ».
  4. Dans la boîte de pop-up « Ajouter la procédure », tapez un nom pour votre nouveau sous-programme. Utilisez les traits de soulignement, plutôt que d’espaces, pour séparer les mots.
  5. Dans le cadre de « Type », sélectionnez « Sub. »
  6. Sous « Portée », choisissez « Public » ou « Privé ». Une sous-routine publique est accessible à d’autres procédures ; une sous-routine privée fonctionne uniquement au sein de la même procédure.
  7. Si vous le souhaitez, cochez la case de « Toutes les variables locales comme statique ». Variables statiques conservent leurs valeurs lorsque vous quittez une procédure. Le comportement par défaut efface toutes les variables.
  8. Cliquez sur « OK ». Dans la fenêtre de code, vous verrez les instructions Sub et End Sub.
  9. Ajoutez du code. Entre « Sub » et « End Sub », insérez les instructions de VBA pour votre sous-routine. Par exemple, utilisez le code suivant pour afficher une boîte de message avec une salutation :

    Sub Test() MsgBox « Hello World » End Sub

  10. Exécutez la sous-routine. Dans le menu, sélectionnez « Exécuter ». Dans Excel 2003, exécutera la sous-routine. Dans Excel 2007, sélectionnez la sous-routine dans la zone de fenêtres publicitaires intempestives et cliquez sur « Run » pour lancer l’exécution.

Conseils & avertissements

Vous pouvez « appeler » (passer le contrôle à) une sous-routine d’une autre procédure. Cela empêche l’exécution du programme principal et commence la sous-routine. La sous-routine continue jusqu’à ce qu’il rencontre une instruction End Sub ou Exit Sub en cours d’exécution. Votre programme principal puis reprend là où il a laissé. Par exemple, le code suivant appelle la sous-routine « Test1 » :

Sub Macro1()

Test1

End Sub

Une instruction Sub peut inclure des paramètres, spécifiés comme ByVal ou ByRef. Ces paramètres indiquent si les arguments sont passés par valeur ou par référence lorsqu’une sous-routine est appelée.

Si vous avez des difficultés à votre code en cours d’exécution, vérifiez vos paramètres de sécurité. Excel considère les macros « code éventuellement dangereuses », et dans de nombreuses versions, le comportement par défaut est de les empêcher de s’exécuter.