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 :

Reprise d'une macro 1 après exécution d'une macro 2 appelée par la macro 1 [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 75
    Par défaut
    Bonjour à tous,

    Premièrement je m'excuse pour le titre pas joli joli de la discussion, mais je ne trouvais pas plus explicite .
    Voici mon problème, j'ai une macro 1 dans un fichier 1 qui ouvre un autre fichier 2 et qui exécute une macro 2 dans ce fichier. Jusque là tout va bien.
    En revanche, lors de la fin de l'exécution de la macro 1, la macro 2 ne reprend pas son exécution, Le code arrête tout simplement de tourner.

    Je suis obligé de faire comme ceci car la deuxième partie de la macro 1 utilise les résultats de la macro 2.

    Dois-je rajouter une ligne afin de forcer la reprise ? A noter que la macro 2 enregistre le fichier 2 sous d'autres noms, je ne sais pas si ça peut jouer ..

    Voici le code de la macro 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Sub ma_macro
    dim yesno as boolean
    dim fichier2 as variant
    dim fichier2name as string
     
    Application.DisplayAlerts = False
    Application.AskToUpdateLinks = False
     
    If yesno= vbYes Then
    fichier2= Application.GetOpenFilename("Tous les fichiers (*.*),*.*", , "Indiquez le chemin du fichier 2")
    If yesno= False Then Exit Sub
     
    activeSheetName = ActiveWorkbook.Name'récupère le nom du fichier 1
    Workbooks.Open (fichier2)
    fichier2name= ActiveWorkbook.Name
     
    Application.Run ("'" & fichier2name& "'" & "!Module2.macro2")'--> à la fin de cette ligne la macro s'arrête de tourner :(
     
    'suite du code
    'xxxx
    End Sub
    Je pense en effet que le souci vient du fait que lors de l'exécution de la macro 2, le fichier2 change de nom et donc VBA doit être perdu en quelque sorte ... grrr

    J'ai testé avec une macro "bidon" et le code reprend son exécution lorsqu'il finit la macro.

    Je suis toute ouïe !

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 75
    Par défaut
    Bon finalement j'ai trouvé comme un grand, je laisse donc la méthodo utilisée pour les prochains :

    Ma macro 2 utilisait la méthode "saveas" ce qui explique la non reprise du code de la macro1 puisque le fichier source "fichier2name" utilisé pour appeler la macro 2 se fermait (la méthode save as ferme le fichier original en gros) . Pour contourner ceci, j'ai modifié le code de ma macro 2 afin qu'elle utilise la méthode "savecopyas", de ce fait le fichier source (le fichier2) reste ouvert ..

    Au plaisir !

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

Discussions similaires

  1. [MySQL] Récupérer le nom des champs après exécution d'une requête
    Par GanYoshi dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/07/2008, 12h13
  2. Réponses: 7
    Dernier message: 04/02/2008, 13h19
  3. Verrouillage après exécution d'une requête
    Par jori dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/10/2007, 10h37
  4. [MySQL] Message après exécution d'une requête
    Par Alex70 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/09/2007, 14h41
  5. Revenir sur la cellule sélectionné après exécution d'une macro
    Par Daniel-Gérald dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/02/2007, 21h50

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