Sauvegarder un fichier sous plusieurs PDF individuels avec noms variables

Bonjour tout le monde.

Certaines personnes du forum m'ont déjà grandement aidé pour une macro qui

1) délimite une zone d'impression en fonction de la valeur d'une cellule (de la cellule K1)

2) sauvegarde cette zone en pdf dans un dossier bien précis et en le nommant de manière précise en fonction de la valeur d'une cellule (H3).

J'ai maintenant besoin d'aide pour le point 3 qui permettrait de sauvegarder chaque page en pdf de manière individuelle et chaque fichier aurait pour nom la valeur d'une cellule (le nom de la page 1 serait en B3, celui de la page 2 en B38, celui de la page en B73... bref il y a un décalage de 35 lignes).

Ce serait beaucoup plus pratique que d'avoir un unique fichier pdf avec une vingtaine de pages à chaque fois aussi non je dois repasser par le programme PDF split and merge. De plus ce programme ne me permet pas de renommer les fichiers avec la valeur d'une cellule mais simplement par numéro de page.

J'ai modifié mon fichier pour ne pas faire apparaître des données personnelles.

Voici la macro utilisée :

Sub Export_PDF()
Dim fichier As String
Dim NBLIGNE As Long
NBLIGNE = Worksheets("Synthèse par élève").Range("K1").Value

Worksheets("Synthèse par élève").Range("A1:J" & NBLIGNE).Select
With Selection
fichier = .Range("H3") & ".pdf"
Dossier = "C:\Users\Dropbox\ECOLE\eMaileur pour publipostage des points\"
Chemin = Dossier & fichier
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
End Sub

Merci à quiconque pourra m'aider.

Bonjour,

Voici un essai en bouclant de manière à modifier la zone d'impression :

Sub Export_PDF()

Dossier = "C:\Users\Dropbox\ECOLE\eMaileur pour publipostage des points\"

With Worksheets("Synthèse par élève")
    for i = 1 to 20 'pour chaque page
        fichier = .Range("B" & (i - 1) * 35 + 3).value & ".pdf" 'nom fichier en B, ligne 3 (si i = 1), 38 (si i = 2), ...
        .pagesetup.printarea = "$A$" & (i - 1) * 35 + 1 & ":$J$" & i * 35 'zone impress temporaire (1 à 35, 36 à 70, ...)
        Chemin = Dossier & fichier
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, IgnorePrintAreas:=False
    next i
    .pagesetup.printarea = "$A$1:$J$700" 'zone impression normale rétablie
End With

End Sub

Joyeux Noel !

Cdlt,

Merci 3GB pour ta réponse ultra rapide.
Ca fonctionne super bien!

Je te souhaite de très bonnes fêtes de fin d'année.

Et encore merci! Tu n'as pas idée du temps que tu viens de me faire gagner.

Rechercher des sujets similaires à "sauvegarder fichier pdf individuels noms variables"