Exécution macro excel depuis vb.net

Messages postés
24
Date d'inscription
vendredi 5 octobre 2018
Dernière intervention
23 novembre 2018
- - Dernière réponse : cs_Le Pivert
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
- 23 nov. 2018 à 11:58
Bonjour,

Bonjour,

Aujourd'hui, j'ai réalisé une macro Excel qui permet de vérifier un fichier entier à l'aide de conditions. J'ai essayé de faire exécuter ma macro depuis vb.net. Cependant, dans mon code ci-dessous j’exécute la macro seulement sur un fichier ciblé. (C:\User\Desktop\Nomdufichier)

J'aimerais savoir si il est possible d’exécuter la macro directement sur le fichier excel ouvert sur notre PC ou bien d'ajouter une ligne de code spécifiant dans l'interface le chemin d’accès du fichier excel pour le vérifier celui-ci.

Si cela est possible j'aimerais avoir un exemple afin de m'appuyer dessus. En vous remerciant.

   
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Excel

Public Class Form1

Private Property objExcel As Object

Private Property objWorkbook As Object

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'Ouverture du fichier excel
objExcel = CreateObject("Excel.Application")
objWorkbook = objExcel.Workbooks.Open("C:\Users\Julien\Desktop\macro\macro1.xlsm")
objExcel.Visible = True

'lancement de la macro dans le fichier excel ouvert
objExcel.run("Feuil1.macro")


End Sub
End Class
Afficher la suite 

Votre réponse

1 réponse

Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
0
Merci
Bonjour,

Je te donne un exemple pour ne pas utiliser cela en VB.Net et tu n'en tiens pas compte!

 objExcel = CreateObject("Excel.Application")



https://codes-sources.commentcamarche.net/source/100410-piloter-office-en-vb-net

Bon courage

Elhyra
Messages postés
24
Date d'inscription
vendredi 5 octobre 2018
Dernière intervention
23 novembre 2018
-
Mais j'ai passé ma soirée hier à réadapter mon code sur ta base pour n'arriver à rien, c'est exactement la même chose si je supprime cette ligne et que je met :

 Dim ApExcel As New Excel.Application
Dim wbExcel As New Excel.Worksheet
cs_Le Pivert
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
-
Je ne vois pas où tu veux en venir avec cela:

'lancement de la macro dans le fichier excel ouvert
        objExcel.run("Feuil1.macro")


car il suffit de mettre le lancement de ta macro à l'ouverture de ton classeur. Cela se fait sur le classeur et tu n'as pas besoin de VB.Net. Excel est un compilateur!

Tu vas dans ThisWorkbook en haut à gauche dans l'éditeur et tu mets ce code:

Option Explicit
Private Sub Workbook_Open()
macro 'lancement de la macro
End Sub


ta macro se déclenchera à chaque ouverture du classeur.

Pourquoi faire simple quand on peut faire compliqué!!!!!!!!!!!!!
Elhyra
Messages postés
24
Date d'inscription
vendredi 5 octobre 2018
Dernière intervention
23 novembre 2018
-
Encore une fois mon but est de faire un .exe une application, quelque chose de très très simple.

Je veux que cette macro s'applique à l'ouverture d'un fichier excel quelconque, pas seulement le même !
cs_Le Pivert
Messages postés
5607
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
-
Je veux que cette macro s'applique à l'ouverture d'un fichier excel quelconque, pas seulement le même !

Les macros complémentaires sont faites pour cela dans Excel:

https://fr.wikiversity.org/wiki/Macros-commandes_VBA/Cr%C3%A9er_des_macros_compl%C3%A9mentaires

Je ne vois toujours pas l'utilité de passer par VB.Net, sinon créer une macro sur chaque classeur (pas seulement le même), là c'est pas gagné!
Commenter la réponse de cs_Le Pivert

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.