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 :

appel de procédure dans un autre classeur et fermeture du premier classeur [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    amateur
    Inscrit en
    Août 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Août 2018
    Messages : 18
    Par défaut appel de procédure dans un autre classeur et fermeture du premier classeur
    Bonjour le forum.

    Je lance depuis un premier classeur une procédure contenue dans un second. Jusqu'ici tout va bien ...
    J'ai besoin de fermer le premier classeur au cour de la procédure (via workbooks().close) et là c'est le drame!!! la fin de la macro ne s'exécute pas (parce que l'instance qui a lancé la procédure est fermé????)
    J'espère avoir été clair...

    Merci de m'avoir lu et de peut-être m'aider!!!!

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    "Tiens-toi au pinceau, j'enlève l'échelle".

    Non, dans une macro, on ne peut/doit pas fermer le fichier dans laquelle elle se trouve.

    Si tu as besoin de fermer ce fichier, alors place la macro dans un autre fichier, un xlam par exemple, indépendant de ceux que tu traites.

  3. #3
    Membre averti
    Homme Profil pro
    amateur
    Inscrit en
    Août 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Août 2018
    Messages : 18
    Par défaut
    Merci pour ta réponse.

    C'est pas le fichier qui contient la macro que je veux fermer, enfin, pas tout à fait ....
    Je lance la macro du fichier 1. Le fichier 1 appelle la macro du fichier 2. Dans la macro du fichier 2 je ferme le fichier 1. Je m'attendais à ce que la macro du fichier 2 aille à son terme mais il semble que fermer le fichier appelant mette un "stop" à l'exécution.

    Au final, j'ai contourné le problème en faisant un SaveAs sur le fichier 1 à un autre endroit (j'avais besoin de fermer ce fichier car il est sur une clé usb que je dois crypter et c'était impossible à faire lorsqu'il est ouvert).

    Bonne journée!
    PS: c'est quoi un XLAM?

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Ennekaw Voir le message
    C'est pas le fichier qui contient la macro que je veux fermer, enfin, pas tout à fait ....
    Je lance la macro du fichier 1. Le fichier 1 appelle la macro du fichier 2. Dans la macro du fichier 2 je ferme le fichier 1.
    Si la seconde macro est appelée par un Call ou quelque chose du genre, alors la macro appelante est toujours ouverte et active.
    Fermer son fichier équivaut à scier la branche sur laquelle on est assis.

    PS: c'est quoi un XLAM?
    Un fichier qui ne contient que des macros sans feuille de calcul, donc invisible dans Excel.
    En réalité il contient une feuille de calcul mais il n'est pas possible de la voir donc c'est quasiment comme s'il n'en avait pas.

    Très pratique pour mettre des macros liés à des boutons de ruban/barre d'outil ou pour mettre des fonctions utilisables dans les formules Excel.
    https://support.office.com/fr-fr/art...a-b83d51d46247

  5. #5
    Membre averti
    Homme Profil pro
    amateur
    Inscrit en
    Août 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Août 2018
    Messages : 18
    Par défaut
    Merci maitre monolithe !!!!!!

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

Discussions similaires

  1. [AC-2016] Appeler des procédures dans une autre et le faire en boucle
    Par remus192 dans le forum VBA Access
    Réponses: 6
    Dernier message: 30/01/2019, 06h59
  2. Appel d'une procédure dans une autre procédure
    Par logo98 dans le forum Langage
    Réponses: 7
    Dernier message: 20/05/2009, 14h50
  3. Appelle d'un procédure dans une autre
    Par yupa dans le forum PL/SQL
    Réponses: 10
    Dernier message: 19/02/2009, 16h20
  4. Comment appeler une procédure dans une autre unité ?
    Par michel71 dans le forum Langage
    Réponses: 1
    Dernier message: 19/09/2007, 17h27
  5. Exécution d'une procédure qui se trouve dans un autre classeur
    Par enchanté dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/07/2007, 10h31

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