XL 2016 VBA enregistrement en PDF - sans écraser

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Camille Clauzade

XLDnaute Nouveau
Bonjour,
J'ai trouvé ce code pour enregistrer en PDF sur mon bureau. Je rencontrer un bogue quand je réponds "oui" à la question "Faut-il l'écraser ?".
Savez-vous pourquoi ?
Merci de votre aide précieuse,
Camille

Sub Save_PDF_bureau()
Dim chemin As String
Dim NomFichier As String

chemin = "C:\Users\Camille\Desktop"
NomFichier = "Argile - liste points de vente.pdf"
xx = Dir(chemin & "\" & NomFichier)
Dim MaPlage As Range, Cel As Range

If xx <> "" Then

'MsgBox pour voir si le fichier existe déjà avec réponse oui ou non, si oui écrase, si non rien
If MsgBox("le fichier" & fichier & " existe déjà dans " & chemin & " Faut-il l'écraser ? ", vbYesNo + vbQuestion, "Création d'un fichier PDF - Document existant") = vbYes Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & "\" & NomFichier, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End If
Else
'Procédure réalisée si le fichier n'existe pas encore
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & "\" & NomFichier, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End If
End Sub
 
Bonjour,

Parce que vous répondez -oui à la question et que la macro fait non.

Tester celle-ci:
VB:
Sub Save_PDF_bureau()
    Dim xx As String
    Dim chemin As String
    Dim NomFichier As String

    chemin = "C:\Users\Camille\Desktop"
    NomFichier = "Argile - liste points de vente.pdf"
    
    '
    ' Tester l'éxistence du fichier
    xx = Dir(chemin & "\" & NomFichier)
    If xx <> "" Then
        '
        ' Si le fichier existe, demander à l'utilisateur s'il faut l'écraser
        If MsgBox("le fichier" & fichier & " existe déjà dans " & chemin & " Faut-il l'écraser ? ", vbYesNo + vbQuestion, "Création d'un fichier PDF - Document existant") = vbYes Then
            ' si l'utilisateur a répondu oui : Suppression du fichier existant
           Kill xx
        Else
            ' Sinon sortir sans enregistrer le fichier
           Exit Sub
        End If
    End If
        ' Enrgistrement du fichier
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                    Filename:=chemin & "\" & NomFichier, _
                    Quality:=xlQualityStandard, _
                    IncludeDocProperties:=True, _
                    IgnorePrintAreas:=False, _
                    OpenAfterPublish:=True
End Sub

Bonne journée
 
Bonjour,

Bloque également, ne veut rien dire pour nous à part que ça bloque. Que dis le message d'erreur. Avez-vous les droits systèmes sur Desktop?
Le fichier .pdf n'est-il pas ouvert?

A vous relire
 
Voici un screenshot
1565169142383.png
 
Re,

Essayez avec Kill Chemin & "\" & NomFichier,

Si cela ne va pas c'est certainement que le chemin n'est pas le bon. C'est à vous de régler le problème, nous ne pouvons pas être.

vous pouvez essayer pour le chemin : "C:\Users\"& environ("username") & "\Desktop".

Cordialement
 
Re,

Ceci fonctionne sur ma machine.

VB:
Sub Save_PDF_bureau()
    Dim xx As String
    Dim chemin As String
    Dim NomFichier As String

    chemin = "C:\Users\" & Environ("username") & "\Desktop"
    NomFichier = "test.pdf"
    
    '
    ' Tester l'éxistence du fichier
    xx = Dir(chemin & "\" & NomFichier)
    If xx <> "" Then
        '
        ' Si le fichier existe, demander à l'utilisateur s'il faut l'écraser
        If MsgBox("le fichier" & NomFichier & " existe déjà dans " & chemin & " Faut-il l'écraser ? ", vbYesNo + vbQuestion, "Création d'un fichier PDF - Document existant") = vbYes Then
            ' si l'utilisateur a répondu oui : Suppression du fichier existant
           Kill chemin & "\" & NomFichier
        Else
            ' Sinon sortir sans enregistrer le fichier
           Exit Sub
        End If
    End If
        ' Enrgistrement du fichier
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                    Filename:=chemin & "\" & NomFichier, _
                    Quality:=xlQualityStandard, _
                    IncludeDocProperties:=True, _
                    IgnorePrintAreas:=False, _
                    OpenAfterPublish:=True
End Sub

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
245
Réponses
3
Affichages
673
Réponses
3
Affichages
887
Réponses
10
Affichages
547
Retour