Refuser d'enregistrer sous nom existant


#1

Bonjour groupe,

J’ai une macro ici qui crée un PDF de ma feuille de calcul et qui enregistre le PDF. Par contre, je ne veux pas qu’il enregistre sous un nom déjà existant.

J’ai indiqué dans ma macro l’endroit ou je crois que l’on doit faire la vérification…mais je ne sais pas comment le faire.

Pourriez-vous m’aider?
# Bon de commande automatique forum.xlsm (26,0 Ko)

Sub enregistrer()
Dim nompdf As String

If IsEmpty(Range("A12")) Then MsgBox "LE NOM DU FOURNISSEUR doit être inscrit": Range("a12").Select: End
If IsEmpty(Range("o5")) Then MsgBox "LIVRÉ A doit être inscrit": Range("o5").Select: End
If IsEmpty(Range("l32")) Then MsgBox "LE NOM DU REQUÉRANT doit être inscrit": Range("l32").Select: End
If IsEmpty(Range("g16")) Then MsgBox "EXPÉDIÉ VIA doit être inscrit": Range("g16").Select: End
If IsEmpty(Range("o7")) Then MsgBox "DOSSIER EAD doit être inscrit": Range("o7").Select: End

'ici je veux que la macro valide si le nom du fichier que je vais lui donner exsiste déja dans le répertoire. Si oui la macro cesse avec un msgbox.
If nompdf <> "" Then MsgBox "Le fichier Existe déjà": End
    
    
    nompdf = "\\nasead01\administration\documents\a\" & Range("B2").Value & " " & Range("r2") & "-" & Range("aa2") & " " & Range("o5")
    ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Range("o5:v8") = ""
Range("A12") = "Vitrerie Commercial"
Range("a21:w31") = ""
Range("l3") = ""
Range("q34") = ""
         
Exit Sub
    ```

#2

Qu’entends-tu exactement par nom existant stp?
Tu veux pouvoir choisir le nom du fichier à chaque fois?
Ou bien si un fichier pdf du même nom existe déjà, choisir un autre nom?


#3

La macro prends certaine cellule pour déterminer le nom du fichier, si la combinaison de ces cellules existe dans le répertoire mentionné dans la macro, il me fait un msgbox pour me dire que le fichier existe et arrête la macro.


#4

Il faut créer le nom du pdf en premier.
Ensuite pour tester si le nom du fichier existe déjà tu peux essayer quelque chose comme

nompdf = "\\nasead01\administration\documents\a\" & Range("B2").Value & " " & Range("r2") & "-" & Range("aa2") & " " & Range("o5")

If Not Dir(nompdf) <> "" Then
    'sauver le pdf
    Else
    'choisir un nouveau nom