Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/10/2011, 10h18   #1
Nouveau Membre du Club
 
Johan
Etudiant Miagiste en apprentissage (Master 2)
Inscription : avril 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Johan
Localisation : France

Informations professionnelles :
Activité : Etudiant Miagiste en apprentissage (Master 2)

Informations forums :
Inscription : avril 2011
Messages : 128
Points : 27
Points : 27
Par défaut Importer macro VBA automatiquement

Bonjour,

J'ai d'un côté ma macro VBA exportée en fichier .bas.
De l'autre côté un fichier Excel défini par un nom.

Mon objectif est simple : créer un script pour importer ma macro dans mon fichier Excel puis l'exécuter sans toucher au fichier Excel.

J'ai essayé en VBScript, sans succès : l'import de la macro est impossible, VBComponents me renvoie une erreur. Connaissez-vous un autre moyen ?
johan89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 10h40   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

J'ai cette macro - qu'il faut ajouter au fichier cible - pour copier un module et l'importer. Le passage par un fichier intermédiaire n'est utile que pour importer un seul des modules alors que le fichier source en comporte plusieurs.
Source :http://www.exceltip.com :

Code :
1
2
3
4
5
6
7
8
9
10
11
Sub CopieModules()
    Set SourceWB = Workbooks("c:\porte.xls")
    Set CibleWB = ThisWorkbook
    FichTemp = "d:\donnees\daniel\mpfe\~tmpexport.bas"
    On Error Resume Next
    NomModule = "Module21"
    SourceWB.VBProject.VBComponents(NomModule).Export FichTemp
    CibleWB.VBProject.VBComponents.Import FichTemp
    Kill FichTemp
    On Error GoTo 0
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/10/2011, 10h49   #3
Nouveau Membre du Club
 
Johan
Etudiant Miagiste en apprentissage (Master 2)
Inscription : avril 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Johan
Localisation : France

Informations professionnelles :
Activité : Etudiant Miagiste en apprentissage (Master 2)

Informations forums :
Inscription : avril 2011
Messages : 128
Points : 27
Points : 27
Bonjour,

Je ne peux pas accéder au fichier cible, qui est généré après l’exécution de la macro.

J'ai un fichier Excel que je ne peux pas toucher directement et mon fichier .bas. Le fichier .bas doit être importé par n'importe quel moyen dans le fichier Excel puis être exécuté. Cette macro donne lieu à la génération d'un nouveau fichier Excel ensuite.

Une idée qui me vient de m'être donnée est d'importer la macro directement dans Excel. Je vais chercher de ce côté. Ainsi, l'utilisateur aura accès à tout moment à la macro. Il n'aura qu'à ouvrir le fichier Excel puis exécuter la macro.
johan89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 10h56   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Tant mieux si tu as trouvé une solution. Je me suis trompé dans mes explications :
Citation:
J'ai cette macro - qu'il faut ajouter au fichier cible
Il fallait comprendre :
J'ai cette macro - qu'il faut ajouter au fichier important la macro.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/10/2011, 09h57   #5
Nouveau Membre du Club
 
Johan
Etudiant Miagiste en apprentissage (Master 2)
Inscription : avril 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Johan
Localisation : France

Informations professionnelles :
Activité : Etudiant Miagiste en apprentissage (Master 2)

Informations forums :
Inscription : avril 2011
Messages : 128
Points : 27
Points : 27
Je n'ai pas testé ta solution, mais j'ai alloué la macro à un bouton dans Excel directement.

Clic droit dans barre d'outils -> Personnaliser -> Commande -> Macros -> cliquer-glisser de "Bouton personnalisé" vers la barre d'outils
Ne pas quitter la fenêtre "Personnalisation" pour configurer le bouton.
Donc ensuite, clic droit sur le bouton -> Affecter Macro
On affecte la bonne macro et c'est gagné.
J'ai expliqué l'essentiel. Pour tout ce qui est personnalisation (graphique) du bouton, il faut fouiller dans les paramètres du bouton.
johan89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h27.


 
 
 
 
Partenaires

Hébergement Web