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 :

Code VBA pour fermer un autre fichier sans avoir l'invite de sauvegarde [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 26
    Points
    26
    Par défaut Code VBA pour fermer un autre fichier sans avoir l'invite de sauvegarde
    Bonjour,

    j'utilise un fichier A "portant" une macro. Dans cette macro, j'ouvre un fichier B existant et le modifie pour ne rapatrier dans mon fichier A que ce qui m'intéresse.
    A la fin de ma macro, je souhaiterai fermer le fichier B sans sauvegarder les modifications fait. Problème j'ai une pop-up qui me demande si je souhaite sauvegarder mes changements (ce que je ne souhaite pas).

    J'ai chercher comment faire disparaitre ce pop-up, plusieurs solutions sont proposées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Activeworkbook.Close False
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts = False
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Close savechanges:=False
    Mais j'ai toujours le pop-up
    Je me demande si ce n'est pas dû au fait que ma macro est rattachée à mon fichier A, mais je débute donc je ne sais pas si c'est ça et si oui comment faire.

    Est-ce que quelqu'un aurait une idée ?
    Merci d'avance,

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 19
    Points : 33
    Points
    33
    Par défaut Peut-être ...
    Je suppose que tes instructions "ActiveWorkbook etc." sont dans la macro du classeur "A".

    Si c'est le cas :
    Elles concernent le fichier "A" qui est justement le "ActiveWorkbook" en question (d'où la partie du mot "Active").
    Remplace ActiveWorkbook' par Workbooks("B") et ça pourrait résoudre la question.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    Normalement ActiveWorkbook devrait être bon vu que je change de workbook avant de le clôturer, mais je testerai demain en mettant le nom du fichier B au cas où...je posterai le résultat 😀

    non ça marche pas

  4. #4
    Membre averti Avatar de XLRATOR
    Homme Profil pro
    Comptable Analyste
    Inscrit en
    Août 2012
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable Analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 226
    Points : 356
    Points
    356
    Par défaut
    Bonsoir,
    Essaies avec ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Application.DisplayAlerts = False
    Workbooks("Fichier B").Close
    ça deverait marcher.

    Cordialement.
    Karim

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 19
    Points : 33
    Points
    33
    Par défaut Je ne comprends pas le problème.
    Salut,

    J'ai testé ce scénario :

    Exécution d'une macro dans le classeur A qui :
    • ouvre B
    • modifie B
    • écrit dans le classeur A la valeur modifiée dans B
    • ferme le classeur B avec "Workbooks("B.xls").Close False".

    De plus, à l'ouverture de B, une macro du classeur modifie aussi B.

    J'ai testé aussi la fermeture du classeur ordonnée par la macro de B.

    Le tout sans instruction "Application.DisplayAlerts = False"

    Ca marche toujours. Pas de pop-up.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    bon j'ai testé la solution avec 2 fichiers basiques et là en effet ça marche
    Par contre cela ne marche pas avec mon "vrai" fichier B Je crois qu'il va falloir que je demande au développeur à l'origine de ce fichier s'il a une idée...

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

Discussions similaires

  1. Code VBA pour copier-coller des colonnes d'un fichier Excel à un autre
    Par User Name dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/01/2014, 23h30
  2. Réponses: 6
    Dernier message: 18/11/2013, 17h48
  3. [AC-2003] Code VBA pour importer un fichier Excel dans access
    Par granddebutant dans le forum VBA Access
    Réponses: 5
    Dernier message: 24/01/2012, 14h51
  4. Code Vba pour ouvrir un fichier XML
    Par nomade333 dans le forum VBA Access
    Réponses: 5
    Dernier message: 26/03/2008, 12h38
  5. Réponses: 3
    Dernier message: 06/09/2005, 10h27

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