Macro fichier excel en pdf

RONIBO

XLDnaute Impliqué
Bonjour,

J'aimerais améliorer un petit truck dans ce macro.

Code:
Sub ImprimerPDF()
Dim LePath$
LePath = "C:\Fichier PDF\" & [F10] & [G10] & " - " & [A12] & " (" & [F14] & ").pdf"
If Dir(LePath) <> "" Then If MsgBox("Un fichier nommé '" & LePath & "' " & "existe déjà à cet emplacement" & vbCr & _
"Voulez-vous le remplacer ?", vbYesNo + vbQuestion, "Voulez-vous écraser le fichier PDF existant ?") = vbNo Then Exit Sub
On Error Resume Next
ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=LePath, OpenAfterPublish:=True
If Err Then
End If
End Sub

Il permet d'imprimer les fichiers en Pdf.

J'aimerais ajouter quelques message box,

1 - Afficher un message lorsque il y a un problème dans le répertoire:
MsgBox "Veuillez vérifier que le dossier 'Fichier PDF' est bien dans l'emplacement suivant :" & Chr(10) & "C:\Fichier PDF\"

2 - Afficher un message lorsque l'une des cellules (F10 ; G10 ; A12 ; F14) sont vides, lorsqu'il n'y a pas de données.
MsgBox "Veuillez vérifier que les cellules sont bien complétée" & Chr(10) & "Voici la liste des cellules à compléter" & Chr(10) & "Nom du Client, Type de document, Numéro du document et Nom du chantier"

Je vous mets un fichier pour mieux comprendre.
Attention à extraire dans "C:/"

Merci d'avance.

A6
 

Pièces jointes

  • Fichier PDF.zip
    58.9 KB · Affichages: 27

Staple1600

XLDnaute Barbatruc
Re : Macro fichier excel en pdf

Bonjour à tous

RONIBO:
Pour ton 1)
LePath sera toujours le Path, non ? puisqu'inscrit en dur dans ton code VBA.
(En parenthèses, ce n'est pas un path mais un nom de fichier, le path c'est : C:\FichierPDF\)

Pour ton 2)
Essaies de t'inspirer de ceci
Code:
Sub test()
With Sheets(1)
If ((Application.CountBlank(.Range("F10:G10")) + Len(.[A12]) + Len(.[F14])) = 2) Then
MsgBox "Ces cellules sont vides.", vbCritical, "F10,G10,A12,F14"
Else
MsgBox "Au moins une de ces 4 cellules n'est pas vide.", vbInformation, "F10,G10,A12,F14"
End If
End With
End Sub

PS: Le dimanche, il y a moins de monde sur XLD, et j'espère plus de gens en famille autour d'un bon repas.
Alors un peu de patience, camarade ;)
 

RONIBO

XLDnaute Impliqué
Re : Macro fichier excel en pdf

Bonjour,

Merci Staple1600 :)

J'ai pu faire un truck comme ceci
Sub ImprimerPDF()
Dim LePath$
If [G10] = "" Or [A12] = "" Or [F14] = "" Then Call MessageCelluleVide: Exit Sub
LePath = "C:\Fichier PDF\" & [F10] & [G10] & " - " & [A12] & " (" & [F14] & ").pdf"
If Dir(LePath) <> "" Then If MsgBox("Un fichier nommé '" & LePath & "' " & "existe déjà à cet emplacement" & vbCr & _
"Voulez-vous le remplacer ?", vbYesNo + vbQuestion, "Voulez-vous écraser le fichier PDF existant ?") = vbNo Then Exit Sub
On Error Resume Next
ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=LePath, OpenAfterPublish:=True
If Err Then
End If
End Sub
Sub MessageCelluleVide()
MsgBox "Veuillez sélectionner un client ou rentrer une adresse mail pour cette fiche client !", vbInformation, "Attention"
End Sub

Il me manque plus qu'à afficher un message lorsque il y a un problème dans le répertoire:
MsgBox "Veuillez vérifier que le dossier 'Fichier PDF' est bien dans l'emplacement suivant :" & Chr(10) & "C:\Fichier PDF\"

a+