Comment appeler des macros Microsoft Excel qui prennent des paramètres

Résumé

À l’aide d’Automation, vous pouvez manipuler Microsoft Excel. Il est possible d’appeler des procédures de macro stockées dans des classeurs Microsoft Excel à l’aide de la méthode Run de l’objet Application Microsoft Excel. Les procédures de macro Microsoft Excel qui prennent des paramètres entraînent une légère modification de la syntaxe. Vous trouverez ci-dessous un exemple de code montrant comment appeler une procédure macro Microsoft Excel à partir de Visual Basic.

Informations supplémentaires

Exemple pas à pas

  1. Démarrez un nouveau projet en Visual Basic. Form1 est créé par défaut.

  2. Placez un CommandButton sur Form1.

  3. Dans la section Déclarations générales de Form1, entrez ce code :

          Option Explicit
    
    Private Sub Command1_Click()
           Dim oExcelApp As Object
    
    ' Create a reference to the currently running excel application
           Set oExcelApp = GetObject(, "Excel.application")
           ' Make the Excel Application Visible.
           oExcelApp.Visible = True
           ' Run the excel procedure
           oExcelApp.run "proc", "David", 30
          End Sub
    
  4. Ouvrez Microsoft Excel. Book1 est créé par défaut.

  5. Ajoutez un nouveau module au classeur.

    Pour Excel 5.0 et 7.0 : dans le menu Insertion, choisissez Macro, puis sélectionnez l’option Module. Cela vous donnera une nouvelle feuille de module, Module1.

    Pour Excel 97 et versions ultérieures : appuyez sur Alt+F11 pour démarrer Visual Basic Editor. Cliquez sur Module dans le menu Insertion.

  6. Dans module1, tapez le code suivant :

    Sub Proc(sParam1 As String, iParam2 As Integer)
            MsgBox sParam1 & " is " & iParam2 & " Years Old"
          End Sub
    
  7. Laissez le classeur ouvert dans Microsoft Excel et basculez vers votre projet en Visual Basic.

  8. À partir de Visual Basic, appuyez sur F5 pour exécuter le projet. Cliquez sur le bouton de commande et une boîte de dialogue doit s’afficher avec le texte « David a 30 ans » dans celui-ci.

References

Pour plus d’informations sur l’utilisation de Visual Basic pour automatiser Excel, consultez les rubriques suivantes :

219151 Comment automatiser Microsoft Excel à partir de Visual Basic