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 répondre au Box [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut Code VBA pour répondre au Box
    Bonjour à tous,

    Je cherche à produire une macro en VBA me permettant d'ouvrir un classeur Excel pour ensuite faire des manips dessus.

    Le problème est que, lorsque j'ouvre ce classeur, Excel me lance des messages comme "Mettre ou pas à jour les liaisons avec d'autres classeurs"

    Or, je ne sais pas comment programmer une réponse automatique en VBA, afin que ma macro ne se retrouve pas bloqué dès l'ouverture du fichier, à cause des messages qui s'affichent et nécessitent une réponse.

    Je suppose que mon problème est simple à résoudre pour la plupart des passionnés d'Excel, mais j'ai effectué mes propres recherches et impossible de trouver ce code. J'ai uniquement trouver les instructions pour créer des MsgBox mais rien pour répondre au message d'Excel.

    Merci pour votre aide !

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour Peace, le forum,

    Pour éviter les messages d'alertes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.DisplayAlerts =false
    il ne faut pas oublier en fin de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.DisplayAlerts =true
    mais si tes mises à jour des liaisons avec d'autres fichiers doivent se faire, provoque les par code

    a +
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut
    Bonjour Casefayere,

    Ton code permet a la macro d' "oublier" le message et d'effectuer les manips sur le classeur.

    Seulement, une fois ces manips finies, la macro refuse de me fermer le classeur.

    Voici le code VBA en début/fin de macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub ReportDonnées()
     
        Application.DisplayAlerts = False
     
        Workbooks.Open Filename:= _
            "K:\Tableaux de couts\Cochet Beurre de Cacao.xls"
     
    ' les manips à effectuer....
     
        Application.DisplayAlerts = True
     
        Workbooks("Cochet Beurre de Caco.xls").Close savechanges:=False
     
    End Sub
    La fermeture du classeur Workbooks("Cochet Beurre de Caco.xls").Close savechanges:=False ne veut pas s'exécuter. Il me met un message d'erreur

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je ne connais pas le savechanges dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("Cochet Beurre de Caco.xls").Close savechanges:=False
    mais tu ne peux enregistrer ou ne pas enregistrer un fichier après l'avoir fermé donc ce bout de code
    devrait paraitre avant la fermeture

    à mon avis....
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut
    J'ai enlevé le code savechanges:=False

    Mais excel me dit que le code Workbooks("Cochet Beurre de Caco.xls").Close est faux ??

    Il me semble pourtant que c'est bien ce code qui permet de fermer le classeur.

    A moins que justement, les messages "ignorés" par la macro à l'ouverture du classeur mais toujours présent à la fermeture du classeur empêche le code VBA de fermer le classeur.

    Qu'en penses-tu ?

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    je viens de voir ça pour les ref circulaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Iteration = false
    regardes ce que ça peut donner (surtout avant la fermeture du classeur)
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. Un code VBA pour récupérer un type de donnée ?
    Par KEROZEN dans le forum VBA Access
    Réponses: 22
    Dernier message: 26/09/2019, 11h12
  2. Débutante - Code VBA pour MsgBox avec actions multiples
    Par kisscool35 dans le forum Access
    Réponses: 5
    Dernier message: 22/08/2006, 17h43
  3. [VBA-A] Code vba pour inclure un formulaire Acces
    Par MadSquirrel dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/04/2006, 18h19
  4. 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