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 :

[Excel] Intreprêter du string en code


Sujet :

Macros et VBA Excel

  1. #1
    Invité
    Invité(e)
    Par défaut [Excel] Intreprêter du string en code
    Bonjour à tous!

    Je cherche à automatiser le lancement de macros contenus dans d'autres classeurs excel à travers un string. Pour être plus clair, voici un bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Str As String
    Str = NomFichier + "!" + "test_MRP"
    'Là Str vaut un string du genre NomdunFichier.xls!NomduneMacro
    Call Str
    Il me faudrait donc une fonction capable d'interprêter "Str" comme du code et non un string.

    Quelqu'un a une idée?
    Merci!

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    tu peux tester ce type de procedure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Str As String
    Str = NomFichier + "!" + "test_MRP"
    Application.ExecuteExcel4Macro "RUN(""" & Str & """)"

    bonne journée
    michel

  3. #3
    Invité
    Invité(e)
    Par défaut
    C'est ça merci!

    Je viens juste de remarquer que le focus reste sur le nouveau fichier alors je viens de bousiller toutes mes données...
    ça m'apprendra à pas sélectionner la bonne feuille avant d'écrire...

    Merci!

    [edit]En fait ça ne marche pas... Mais ce code là marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    '1) Ouvrir le classeur où se trouve la macro
    Workbooks.Open (NomCible)
     
    '2) Application.Run "'NomFichier.xls'!NomMacro"
    Application.Run (NomCible + "!MRP_tot")
    Workbooks(NomFichierMRP).Activate
    Sheets("Principale").Select
    Cells(compteur, 4).Value = "Ok"
    compteur = compteur + 1
     
    '3) Fermer le classeur en sauvant
    Workbooks(NomCible).Close Savechanges:=True
    [/edit]

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/01/2008, 01h05
  2. Contrainte pour String et Code postal
    Par hola150 dans le forum Oracle
    Réponses: 8
    Dernier message: 10/04/2007, 09h54
  3. [VBA][Excel] Comment bien structurer son code?
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/03/2007, 19h39
  4. EXCEL/ VBA Erreur sur le code VBA : rediriger l’erreur
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/12/2006, 16h28
  5. [VB.Net 1.1/ASP.Net/Excel] Pourquoi mon exécution de code est si lente ?
    Par calison3 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 12/08/2006, 12h41

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