XL 2016 Exporter en pdf

micpid62

XLDnaute Occasionnel
Bonjour à tous et bonne année
Je tente désespérément de sauvegarder mes feuille de calcul en pdf
J'ai regardé plusieurs tutos mais je ni arrive et je ne trouve pas le pourquoi de la chose
ci-dessous le code que j'ai trouvé
VB:
Sub SauvPdf()
'
' SauvPdf Macro
'

'
    NomDossier = Application.InputBox("Nom du dossier", "Création du dossier", "Entrer le nom du dossier")
    chemin = "L:\agent\2023\pdf\" & NomDossier & "\"
    On Error Resume Next
    If NomDossier = "" Then
    Exit Sub
    Else
    Dossierexistant = GetAttr(dossier) And vbDirectory
    If Dossierexistant = False Then
        MkDir (chemin)
     End If
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=chemin & Range("A1") & " " & Range("B6").Value & " .pdf", quality:= _
    xlQualityStandard, includeDocProperties:=True, ignorePrintAreas:=False, _
    from:=1, to:=1, OpenAfterPublish:=True
    
MsgBox ("Le pdf a été crée")
End If

End Sub

Pour info la création du dossier fonctionne mais pas le nom du fichier
SVP venez à mon aide sinon je vais Peter un plomb
D'avance merci
 

job75

XLDnaute Barbatruc
Bonsoir micpid62, le fil,

@fanch55 pourquoi un contrôle d'erreur ? Il n'y a pas d'erreur :
VB:
Sub SauvPdf()
Dim NomDossier$, chemin$, w As Worksheet, dat As Date, a$(), n%
NomDossier = Application.InputBox("Nom du dossier", "Création du dossier", "Entrer le nom du dossier")
If NomDossier = "" Then Exit Sub
chemin = ThisWorkbook.Path & "\" & NomDossier & "\"
If Dir(chemin, vbDirectory) = "" Then MkDir chemin 'création du dossier s'il n'existe pas
For Each w In Worksheets
    If IsDate(w.Cells(1)) And w.Cells(6, 1) <> "" Then
        If dat Then If w.Cells(1) <> dat Then MsgBox "Les dates en A1 doivent être les mêmes !", 48: Exit Sub
        dat = w.Cells(1)
        ReDim Preserve a(n)
        a(n) = w.Name
        n = n + 1
    End If
Next
Sheets(a).Select 'sélection multiple
ActiveSheet.ExportAsFixedFormat xlTypePDF, chemin & Format(dat, "yyyy-mm") & ".pdf"
Sheets(a(0)).Select
MsgBox "Le fichier PDF a été créé"
End Sub
A+
 
Dernière édition:

fanch55

XLDnaute Barbatruc
Je ne vois pas comment une erreur pourrait se produire dès le moment où le chemin existe.
Bonjour à tous et bonne année
......
Pour info la création du dossier fonctionne mais pas le nom du fichier
SVP venez à mon aide sinon je vais Peter un plomb
D'avance merci
Le nom du fichier est dépendant du contenu des cellules a1 et a6, s'il ne respecte pas les règles de nommage Microsoft, l'export se plante. ... le chemin n'est pas en cause.
 

micpid62

XLDnaute Occasionnel
Un exemple ci-dessous:
VB:
Sub SauvPdf()
Dim NomDossier$, Chemin$, Fic$
    If IsDate([A1]) And [A6] <> "" Then
        NomDossier = Application.InputBox("Nom du dossier", "Création du dossier", "Entrer le nom du dossier")
        If NomDossier <> "" Then
            Chemin = ThisWorkbook.Path & "\" & NomDossier & "\"
            If Dir(Chemin, vbDirectory) = "" Then MkDir Chemin 'création du dossier s'il n'existe pas
            Fic = Chemin & Format([A1], "mm-yyyy ") & [A6] & ".pdf"
            Worksheets(Array("BESNARD Olivier", "PERDREAU Bruno", "EGEA Florian")).Select
            On Error Resume Next
                ActiveSheet.ExportAsFixedFormat xlTypePDF, Fic
                If Not Err Then
                    MsgBox "Le fichier " & Fic & " a été créé ou remplacé"
                Else
                    MsgBox "Erreur: " & Fic & vbLf & Err.Description
                End If
            On Error GoTo 0
        End If
    End If

End Sub
Toutefois, je vous conseille de réfléchir au nom à donner au fichier Pdf car les 3 feuilles ont les cellules A1 et A6.
Merci beaucoup
Pour info j'ai voulu supprimer dans la variable FIC &[A6]& pour n'avoir que la date dans le nom de fichier mais j'ai obtenu un message d'erreur. A lors pour me féliciter la chose j'ai changé &[A6]& en &[B1]&
Encore merci pour votre aide
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 738
Messages
2 112 339
Membres
111 512
dernier inscrit
Gilles727