Bonjour à toutes et à tous
Je me permets de solliciter une fois de plus votre aide.
Grâce au code joint (et à ce forum), j'enregistre, à partir d'une plage sélectionnée (zone d'impression), des fichiers pdf dans le même répertoire.
L'en-tête de cette plage est fonction de la valeur d'une cellule sélectionnée dans une autre plage (A3:A13), dont le nombre et la valeur des cellules non vides est variable, d'où les multiples fichier à créer, et la nécessité de stopper la macro dès qu'une cellule (plage A3:A13) est vide, et d'informer l'utilisateur du succès et de la fin de la procédure.
Ayant élaboré ce code à partir de bribes de réponses de ce forum, et bien qu'il fonctionne, j'imagine qu'il doit exister une manière plus légère de le rédiger, et éviter ainsi les multiples sélections et les répétitions.
En vous remerciant par avance.
Bien cordialement
Je me permets de solliciter une fois de plus votre aide.
Grâce au code joint (et à ce forum), j'enregistre, à partir d'une plage sélectionnée (zone d'impression), des fichiers pdf dans le même répertoire.
L'en-tête de cette plage est fonction de la valeur d'une cellule sélectionnée dans une autre plage (A3:A13), dont le nombre et la valeur des cellules non vides est variable, d'où les multiples fichier à créer, et la nécessité de stopper la macro dès qu'une cellule (plage A3:A13) est vide, et d'informer l'utilisateur du succès et de la fin de la procédure.
Ayant élaboré ce code à partir de bribes de réponses de ce forum, et bien qu'il fonctionne, j'imagine qu'il doit exister une manière plus légère de le rédiger, et éviter ainsi les multiples sélections et les répétitions.
En vous remerciant par avance.
Code:
Sub pdf()
If Sheets("EXTRACTION").Range("A3").Value <> "" Then
Range("A3").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A3").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
If Sheets("EXTRACTION").Range("A4").Value <> "" Then
Range("A4").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A4").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
If Sheets("EXTRACTION").Range("A5").Value <> "" Then
Range("A5").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A5").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
If Sheets("EXTRACTION").Range("A6").Value <> "" Then
Range("A6").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A6").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
If Sheets("EXTRACTION").Range("A7").Value <> "" Then
Range("A7").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A7").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
If Sheets("EXTRACTION").Range("A8").Value <> "" Then
Range("A8").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A8").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
If Sheets("EXTRACTION").Range("A9").Value <> "" Then
Range("A9").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A9").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
If Sheets("EXTRACTION").Range("A10").Value <> "" Then
Range("A10").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A10").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
If Sheets("EXTRACTION").Range("A11").Value <> "" Then
Range("A11").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A11").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
If Sheets("EXTRACTION").Range("A12").Value <> "" Then
Range("A12").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A12").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
If Sheets("EXTRACTION").Range("A13").Value <> "" Then
Range("A13").Select
ChDir "C:\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Range("A13").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Else: MsgBox "Les fichiers pdf ont été édités avec succès dans le dossier suivant : " & ThisWorkbook.Path & ""
Exit Sub
End If
End Sub
Bien cordialement