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 :

Pb msgbox lors d'annulation de la boite de dialogue "enregistrer sous"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Par défaut Pb msgbox lors d'annulation de la boite de dialogue "enregistrer sous"
    Bonjour à tous,

    J'ai une macro qui permet de lancer un "enregistrer sous" d'un nouveau classeur avec certaines feuilles de mon classeur de travail en appuyant sur le bouton "enregistrer le reporting".

    Mon problème c'est que si quelqu'un annule la boite de dialogue "enregistrer sous", une msgbox apparait pour dire ("Aucun rapport n'a été généré, l'enregistrement est impossible") --> cette msgbox est faite uniquement si l'utilisateur n'a pas mis de données à l'initial. Je voudrais qu'elle n'apparaisse pas lorsque l'on annule le "enregistrer sous", et qu'elle apparaisse lorsque aucun rapport n'a été généré. Est-ce faisable ?

    Je mets le fichier en PJ pour mieux comprendre le contexte, le code concernant cette partie se trouve dans le module "saveAs" (sub enregistrezsous)

    Sinon le code en question est :

    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
    Sub enregistrezsous()
    On Error GoTo Norec
     
    Dim Outilstats As Workbook
    Dim NewClasseur As Workbook
    Dim Nomfichier As String
     
    NomSht1 = Sheets("Accueil").Range("Z7").Value
    NomSht2 = Sheets("Accueil").Range("Z8").Value
    Nomfichier = Sheets("Accueil").Range("Z6").Value
        Sheets(Array(NomSht1, NomSht2)).Copy
        Application.Dialogs(xlDialogSaveAs).Show arg1:="c:\" & Nomfichier
     
    Norec:
    msgbox "Aucun rapport n'a été généré, l'enregistrement est impossible", vbExclamation
    End
     
    End Sub
    Merci de votre aide !!

    François
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Est-ce nécessaire de passer par une fenêtre (Dialog) Enregistrer Sous... ?
    Tu pourrais simplement utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveAs "C:\" & Nomfichier

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Il te suffit de tester le retour d'Application.Dialogs, si égal à False (annuler) fin de procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If Application.Dialogs(xlDialogSaveAs).Show(arg1:="c:\" & Nomfichier) = False Then Exit Sub
    Hervé.

  4. #4
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Par défaut
    Super, je viens de tester ça marche impeccable !!
    Parmi, en fait j'ai besoin de mettre un titre daté pour l'enregistrement du nouveau classeur afin que les utilisateurs puissent facilement s'y retrouver, mais merci de ta solution !

    En tout cas un grand merci à vous deux pour votre aide !

    François

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

Discussions similaires

  1. Boite de dialogue (Ouvrir, Enregistrer, Annuler)
    Par soleil_s dans le forum Windows 7
    Réponses: 2
    Dernier message: 22/07/2013, 14h50
  2. gestion annuler de la boite de dialogue
    Par JYPIQ62 dans le forum VBA Word
    Réponses: 2
    Dernier message: 07/05/2012, 20h59
  3. Réponses: 2
    Dernier message: 04/07/2008, 12h22
  4. Réponse boite de dialogue prédéfinie "Enregistrer les modifications"
    Par catherineFR27 dans le forum Général VBA
    Réponses: 6
    Dernier message: 05/09/2006, 17h18
  5. Réponses: 5
    Dernier message: 04/04/2003, 15h02

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