Modifier code export PDF feuille Excel

Bonjour,

Je fais appel à votre savoir pour modifier un code VBA.

J'utilise le code ci dessous pour exporter les fiches excel au format pdf dans le dossier comprenant l'excel.

Les fiches sont nommées par leur numéro de feuille qui est un entier 1...x.

Serait-il possible d'améliorer ce code en modifiant le nom du fichier en : nom de la feuille + texte présent dans la cellule C3:

Exemple si la feuille s'appelle "2" et que j'ai écris "toto" dans la case C3, le pdf sera " 2 toto".

Bonus : Serait-il également possible de choisir l'emplacement du dossier dans lequel sera sauvergardé les fiches, (par défaut le dossier ou se trouve l'excel.)

Merci d'avance de votre retour, toujours très utile pour moi

Bonne soirée,

Maverick'

Option Explicit

Dim fls As Worksheet, fm As Worksheet, f As Worksheet, chemin$
Dim i&, nb&, adrfls&, adrf$, nomF
Sub ExporterLesFiches()

    Application.ScreenUpdating = False
    chemin = ActiveWorkbook.Path
    For i = 1 To Worksheets.Count
        If IsNumeric(Sheets(i).Name) Then
            nomF = Sheets(i).Name
            'Sheets(i).Copy
            With ActiveWorkbook
                '.SaveAs ThisWorkbook.Path & "\Fichier " & nomF & ".xlsx", FileFormat:= _
                    xlOpenXMLWorkbook, CreateBackup:=False
                .Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & "\Fiche " & Sheets(i).Name & ".pdf"
                '.Close
            End With
        End If
    Next i
    MsgBox "Travail terminé." & Chr(13) & "Toutes les fiches ont un classeur pdf à leur nom dans le " & _
            "dossier qui contient ce présent fichier."
End Sub

Bonjour Maverick39 le forum

voilà pour le nom

Pour le choix du chemin d'enregistrement, tu veux un seul choix ou un choix par feuille??

a+

Papou

Option Explicit

Sub ExporterLesFiches()
    Dim nom$, chemin$, i&
    Application.ScreenUpdating = False
    chemin = ActiveWorkbook.Path
    For i = 1 To Worksheets.Count
        If IsNumeric(Sheets(i).Name) Then
            With ActiveWorkbook
                nom = Sheets(i).Name & " " & Sheets(i).Range("C3")
                .Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & "\Fiche " & nom & ".pdf"
            End With
        End If
    Next i
    MsgBox "Travail terminé." & Chr(13) & "Toutes les fiches ont un classeur pdf à leur nom dans le " & _
           "dossier qui contient ce présent fichier."
End Sub

Merci beaucoup Papou !

Un dossier pour l’ensemble des fiches serait parfait

Merci beaucoup en tout cas ,

Maverick

Re Maverick39 le forum

je te fais cela des que j'ai fini avec mes clients

a+

Papou

Re bonjour Maverick39 le forum

voilà

a+

Papou

Option Explicit

Sub ExporterLesFiches()
    Dim nom$, chemin$, i&, fd As Object, fichier$, rep As Object
    Set rep = Application.FileDialog(msoFileDialogFolderPicker)
    If rep.Show <> 0 Then
        chemin = rep.SelectedItems(1)
    Else
        MsgBox "Vous n'avez Choisi aucun Dossier", , "Manque de Choix de Dossier": Exit Sub
    End If
    Application.ScreenUpdating = False
    For i = 1 To Worksheets.Count
        If IsNumeric(Sheets(i).Name) Then
            With ActiveWorkbook
                nom = Sheets(i).Name & " " & Sheets(i).Range("C3")
                .Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & "\Fiche " & nom & ".pdf"
            End With
        End If
    Next i
    Application.ScreenUpdating = 1
    MsgBox "Travail terminé." & Chr(13) & "Toutes les fiches ont un classeur pdf à leur nom dans le " & _
           "dossier: " & chemin, vbInformation, "Fiches enregistrées"
End Sub

Merci c'est parfait !

Bonne journée à vous =)

Maverick'

Rechercher des sujets similaires à "modifier code export pdf feuille"