Executer une macro sur un classeur à partir d'un programme [Résolu]

Signaler
Messages postés
130
Date d'inscription
lundi 16 mars 2009
Statut
Membre
Dernière intervention
16 juillet 2009
-
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
-
Bonjour.
Alors voila: J'ai créé un programme en VB qui me permet d'ouvrir 2 classeur excel contenant chacun 1 feuille.
J'ai ensuite fais sur excel même des macros qui me permettent de reunir ces 2 feuilles dans un meme classeur, et d'effectuer des calculs ainsi que d'autres diverses actions.
Sur mon programme vb j'ai mis un bouton "Lancer macros", et comme son nom l'indique, je souhaiterais qu'il puisse executer les macros dans le classeur ouvert. Seulement voila, je ne sais pas comment faire pour executer la macro depuis le programme. Dois-je simplement copier coller les macros, les executer toutes depuis une autre macro que j'assossierais à l'action "Click" de mon bouton "Lancer macros"?

6 réponses

Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
5
Oups, je ne me rappelais plus, pour ma 2ème piste, en fait, dans le tutorial, tu as un chapitre "IV-E. Importer et Exporter"
pour l'import des .bas

C'est sans doute plus simple pour ton problème.
A toi de jouer

Molenn
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
Messages postés
130
Date d'inscription
lundi 16 mars 2009
Statut
Membre
Dernière intervention
16 juillet 2009

Et pour enregistrer la macro dans le programme en vb comment je peux faire?
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
voir l'aide de excell.vba
Messages postés
130
Date d'inscription
lundi 16 mars 2009
Statut
Membre
Dernière intervention
16 juillet 2009

Je n'ai rien trouvé sur l'aide excell.vba

Pour etre sur que tout le monde a bien compris, j'ai créé mes macros, je les ai copié dans un fichier txt pour les sauvegarder.

Mon programme, pour le moment ne fait que ouvrir le document excel que je selectionne via un OpenFileDialog.
Comment faire pour que depuis le bouton "Lancer macros" il execute les macros (que j'avais sauvegarder dans le txt) sur le document que je viens d'ouvrir? Comment puis-je inséré l'application de ces macros sur le code de mon bouton?
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
5
Salut,

Ta macro est enregistrée dans un fichier texte ?
Tu peux utiliser le tutorial suivant :
http://silkyroad.developpez.com/VBA/VisualBasicEditor/#LIV-A
qui t'apprendra à utiliser Coder du code dans VBE

Tu as un chapitre Créer un module.

Le principe est simple :
Tu crées un module dans le fichier Excel que tu viens d'ouvrir
Tu ajoutes le code de la macro en lisant ligne par ligne ton fichier texte

Je pense qu'il y a plus simple encore, mais j'ai pas trouvé comment faire (et j'ai pas cherché, pas le temps) :
Quand tu exportes tes modules, ceux-ci sont au format .bas
Et tu peux les importer directement de la même façon dans VBE.
Le fichier .bas n'est jamais qu'un fichier texte. Il faudrait donc juste que tu enregistres ta macro dans un fichier .bas et après, trouver le code qui permet juste d'importer un .bas dans un fichier Excel donné.

Molenn