IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Importer macro VBA automatiquement [XL-2002]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)
    Inscrit en
    Avril 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)

    Informations forums :
    Inscription : Avril 2011
    Messages : 137
    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 ?

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Membre confirmé
    Profil pro
    Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)
    Inscrit en
    Avril 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)

    Informations forums :
    Inscription : Avril 2011
    Messages : 137
    Par défaut
    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.

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Tant mieux si tu as trouvé une solution. Je me suis trompé dans mes explications :
    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.

  5. #5
    Membre confirmé
    Profil pro
    Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)
    Inscrit en
    Avril 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)

    Informations forums :
    Inscription : Avril 2011
    Messages : 137
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Macro VBA pour import Excel
    Par SaadFk dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/08/2011, 23h22
  2. Import macro vba en vbs
    Par typhoon751 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/10/2010, 23h25
  3. [vba-E] VBA pour macro executable automatiquement
    Par ricachu dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/07/2006, 14h20
  4. [vba-E] pour une macro executable automatiquement
    Par ricachu dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/07/2006, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo