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
Démarrez un nouveau projet en Visual Basic. Form1 est créé par défaut.
Placez un CommandButton sur Form1.
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
Ouvrez Microsoft Excel. Book1 est créé par défaut.
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.
Dans module1, tapez le code suivant :
Sub Proc(sParam1 As String, iParam2 As Integer) MsgBox sParam1 & " is " & iParam2 & " Years Old" End Sub
Laissez le classeur ouvert dans Microsoft Excel et basculez vers votre projet en Visual Basic.
À 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