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 :

Problème avec boite de dialogue enregistrer sous


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Points : 54
    Points
    54
    Par défaut Problème avec boite de dialogue enregistrer sous
    Bonjour,
    Voilà mon souci!
    Mon code:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Sub CopieFeuille(stFeuille As String)
     
        Dim wb As Workbook
        Dim x As String, fichier As String, stdir As String
        Application.DisplayAlerts = False
        If stFeuille = "MAT1017" Then
            x = ThisWorkbook.Sheets("Index").Range("C4").Text
        Else
            If stFeuille = "MENSUELLE" Then
                x = ThisWorkbook.Sheets("Index").Range("C2").Text
            Else
                x = ThisWorkbook.Sheets("Index").Range("C6").Text
            End If
        End If
     
        ThisWorkbook.Sheets(stFeuille).Copy
        Set wb = ActiveWorkbook
        wb.Sheets(stFeuille).Cells.Copy
        wb.Sheets(stFeuille).Cells.PasteSpecial xlPasteValues
    '
        If stFeuille = "DTO" Then
            fichier = stdir & stFeuille & " du " & x & ".xls"
        Else
            fichier = stdir & stFeuille & " de " & x & ".xls"
        End If
        NomFichier = Application.GetSaveAsFilename(fichier, "Microsoft Excel (*.xls), *.xls")
     
        If NomFichier = False Then
            MsgBox "Enregistrement annulé."
            wb.Close True
        Else
            MsgBox NomFichier
            wb.Sheets(stFeuille).Cells(1, 1).Select
            wb.SaveAs NomFichier
            wb.Close
        End If
        Application.DisplayAlerts = True
     
    End Sub
    Ce code me permet de copier une feuille bien précise dans un classeur, de créer un nouveau classeur (avec le nom par défaut classeur ... ) , de coller la feuille dans ce nouveau classeur et d'ouvrir la boite de dialogue enregistrer sous jusqu'ici tout va bien! Lorsque je choisis le chemin et clique sur enregistrer tout fonctionne!
    Mon problème vient de quand on clique sur annuler! La boite de dialogue enregistrer sous avec le nom par défault que je lui attribut grâce aux variables se ferme mais une deuxième boite de dialogue enregistrer sous s'ouvre avec comme nom par défault classeur.... ce qui est normal vu que cette feuille n'a jamais été enregistrée! J'aimerai cependant que cette demande ne se fasse pas et que ma feuille temporaire avec le nom classeur... se ferme automatiquement sans le demander lorsqu'on clique sur annuler!
    J'espère avoir été clair. Bonne soirée!

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Actuellement ton code sauvegarde ton classeur wb quand pas de nom
    Utilise False pour ne pas sauvegarder
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If NomFichier = False Then
            MsgBox "Enregistrement annulé."
            wb.Close False
        Else
            MsgBox NomFichier
            wb.Sheets(stFeuille).Cells(1, 1).Select
            wb.SaveAs NomFichier
            wb.Close
        End If
    Jérôme

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Points : 54
    Points
    54
    Par défaut
    Merci beaucoup jfontaine c'est exactement ce qu'il me fallait!!
    Bonne journée

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/07/2015, 09h54
  2. [C#] Boîte de dialogue "Enregistrer sous"
    Par TmDsbsBs dans le forum ASP.NET
    Réponses: 22
    Dernier message: 31/10/2013, 17h55
  3. [XL-2007] Problème formatage du nom dans boite de dialogue Enregistrer sous
    Par mentat dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/05/2010, 21h22
  4. Réponses: 1
    Dernier message: 15/06/2007, 17h37
  5. Pb Boite de dialogue "enregistrer sous"
    Par tangueros dans le forum Access
    Réponses: 2
    Dernier message: 31/07/2006, 11h25

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