Export en pdf vers un chemin donné par l'utilisateur

  • Initiateur de la discussion Initiateur de la discussion Carnage029
  • Date de début Date de début

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 !

Carnage029

XLDnaute Occasionnel
Bonjour à tous,

Encore une fois je viens ici exposer mes petits problèmes en VBA, en effet j'ai rouvé sur internet plusieurs code que j'ai réussi à adapter, mais je ne trouve pas comment le faire répondre pleinement à mes besoins 😀

Code:
Sub Enreg_Pdf()

Dim theDate As String, sigleC As String, typeM As String
theDate = Format(Date, "ddmmyyyy")
sigleC = Range("A2").Value
typeM = Range("A5").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sigleC & "_" & theDate & "_" & typeM & ".pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=True
        
End Sub

Le code suivant me permet d'exporter la feuille active en tant que pdf avec le nom qui va bien, cependant je souhaiterai faire ouvrir une box à l'éxecution de la macro (par un bouton) demandant le chemin de sauvegarde (une dialogs box mais pour sauvegarder en fait)


Je vous remercie beaucoup de votre aide,

Je ne pense pas qu'il faille un fichier excel pour comprendre mais si vous en souhaitez réellement un faites moi signe 🙂
 
Re : Export en pdf vers un chemin donné par l'utilisateur

Hello Carnage, Forum,

Essaie comme ceci...
Code:
Sub Enreg_Pdf()

    Dim theDate As String, sigleC As String, typeM As String
    
    On Error Resume Next
    
    'Attention de bien mettre le dernier backslash "\" à la fin du chemin !
    'Ou le mettre entre le chemin et la date comme l'exemple plus bas
    
    chemin = InputBox("Entrez le chemin" _
        & Chr(13) & Chr(13) & "Exemple : C:\Users\PDF\", "Chemin de sauvegarde")
    
    If chemin = "" Then Exit Sub
    
    theDate = Format(Date, "ddmmyyyy")
    sigleC = Range("A2").Value
    typeM = Range("A5").Value
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=chemin & theDate & "_" & typeM & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        From:=1, To:=1, OpenAfterPublish:=True
        
    'ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=chemin & "/" & theDate & "_" & typeM & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        From:=1, To:=1, OpenAfterPublish:=True
               
End Sub
 
Re : Export en pdf vers un chemin donné par l'utilisateur

Merci Hulk de passer sur mon post, la solution que tu me propose ne convient malheureusement pas,

je souhaiterai exporter vers un chemin ou l'on peut naviguer comme une sauvegarde classique, comme un xldialogsaveas, mais lorsque j'essaye de me servir de ça, je n'arrive pas à mettre un nom de fichier par défaut ainsi que l'extension pdf... et ne sauvegarder que la page active et non pas tout le classeur...

Comprends tu ou je ne suis pas assez clair (je sais que ça peut sembler compliquer à comprendre ou que je ne m'exprime pas clairement, :s)

Encore merci 😀
 
Re : Export en pdf vers un chemin donné par l'utilisateur

Re,

Ou comme ça...
Code:
Sub Enreg_Pdf()

    Dim theDate As String, sigleC As String, typeM As String
    Dim chemin As String
    
    On Error Resume Next
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Show
        If .SelectedItems.Count > 0 Then
            chemin = .SelectedItems(1)
        Else
            Exit Sub
        End If
    End With
    
    theDate = Format(Date, "ddmmyyyy")
    typeM = Range("A5").Value
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=chemin & "\" & theDate & "_" & typeM & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        From:=1, To:=1, OpenAfterPublish:=True
        
End Sub
Plus besoin de sigleC dans les deux cas.
 
Re : Export en pdf vers un chemin donné par l'utilisateur

Merci beaucoup c'est exactement ça, en revanche je ne comprend pas pourquoi tu me dis que sigleC ne sert plus ? je souhaite avoir ça dans le nom de mon fichier pdf...

merci encore 🙂 réponse rapide que j'aime ce forum 😀
 
Re : Export en pdf vers un chemin donné par l'utilisateur

voilà je met le code pour ceux qui seraient intéressés, le nom final du document est sigleC_theDate_theDateb_typeM.pdf

Code:
Sub TESTAAA()

Sheets(Array("Impression - Remboursement")).Select
    Dim theDate As String, sigleC As String, typeM As String
    Dim chemin As String
    
    On Error Resume Next
    
    With Application.FileDialog(msoFileDialogFolderPicker)
    .Show
        If .SelectedItems.Count > 0 Then
            chemin = .SelectedItems(1)
        Else
            Exit Sub
        End If
    End With
    
    theDateb = Range("D5").Value
    theDateb = Format(theDateb, "ddmmyyyy")
    
    theDate = Range("F5").Value
    theDate = Format(theDate, "ddmmyyyy")
    
    sigleC = Range("A2").Value
    
    typeM = Range("A5").Value
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=chemin & "\" & sigleC & "_" & theDate & "_" & theDateb & typeM & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        From:=1, To:=ExecuteExcel4Macro("GET.DOCUMENT(50)"), OpenAfterPublish:=True
        
End Sub


Merci Hulk, j'ai juste changé le To: 1 avec ExecuteExcel4Macro("GET.DOCUMENT(50)") pour bien sauvegarder toute la feuille et non pas juste la première page 🙂

merci encore
 
Re : Export en pdf vers un chemin donné par l'utilisateur

Re,

Ben sigleC (cellule A2) c'est la cellule où il y a le chemin non.. ? Et tu souhaites le chemin dans le nom de ton fichier PDF ?

Là en tous cas, ils ne servent à rien ! Et au départ avec ta macro, sauf erreur, non plus ça ne te mettait pas le chemin dans le nom du PDF, enfin je crois (sans classeur joint difficile de répondre précisément).

Tiens un petit lien si tu veux approfondir un peu...
 
- 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
246
Réponses
3
Affichages
673
Réponses
10
Affichages
547
Retour