Macro enregistrer en PDF avec nom cellule

Bonjour à tous et toutes,

Voilà plusieurs jours que je travaille sur une macro qui me semblait simple mais malheureusement je bloque lamentablement sur un petit point

J'ai un fichier Excel pour lequel je souhaite :

  • Qu'il soit enregistré en PDF
  • Choisir l'emplacement via la fenêtre "enregistrer sous"
  • Que le nom soit non modifiable et relié à des cellules spécifiques

Le nom du fichier PDF doit être :

  • La cellule J2 : N° à 2 ou 3 chiffres (selon début par "0" ou non)
  • Un tirait "_"
  • La cellule G2 : Date du jour
  • Un tirait "_"
  • Le texte "Passation"

Voilà mon code actuel :

Sub PassationPDF()

Dim fichier As String, NomFichier As String

NomFichier = Range("J2").Value & "_" & Range("G2").Value & "_Passation" & ".pdf"
fichier = Application.GetSaveAsFilename(NomFichier)

            Sheets("Passation").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            fichier, Quality:= _
            xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=True

End Sub

Deux problèmes dessus :

1. Lorsque la fenêtre s'ouvre, le nom du fichier n'est pas automatiquement inscrit et il est possible d'en ecrire un

2. Si on fait annuler lorsque la fenêtre s'ouvre, un fichier s'enregistre quand même et se nomme "false.pdf"

Savez vous où se trouve mon erreur?

Merci d'avance pour votre aide,

Bonne journée,

Loïc

Bonjour

A la place de Enregistrer Sous fais choisir juste le répertoire

Sub PassationPDF()
Dim Chemin As String, NomFichier As String

  NomFichier = Range("J2").Value & "_" & Format(Date, "dd_mm_yyyy") & "_Passation" & ".pdf"
  'NomFichier = Range("J2").Value & "_" & Range("G2").Value & "_Passation" & ".pdf"

  With Application.FileDialog(msoFileDialogFolderPicker)
    If .Show = -1 Then    ' Clic sur Ok
     Chemin = .SelectedItems(1)
    Else
      ' Clic sur Annuler
     Exit Sub
    End If
  End With

  Sheets("Passation").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & NomFichier, _
                                          Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                                          IgnorePrintAreas:=False, OpenAfterPublish:=True

End Sub

Bonjour,

Merci beaucoup pour l'aide et la rapidité.

Problème entièrement et parfaitement résolu

Excellente journée,

Loïc

Bonjour, arrive après la guerre mais chez moi :

If .Show = -1 Then

ne fonctionne pas, d'après vba : "variable objet ou variable de bloc with non définie"

que faire ?

merci

Bonsoir à tous

J'ai un problème similaire mais qui je le pense devrait être légèrement plus simple.

Je souhaite via une macro, enregistrer sur le bureau l'onglet actif d'un classeur Excel en PDF, sous le nom "Bordereau" suivi de la date contenue dans la cellule A19 -

Problème : la date de la cellule est actuellement au format 28/07/2019 et cela ne passe pas - Je pense que plusieurs d'entre vous arriveront à répondre à ce problème qui pour moi me semble complexe n'y connaissant rien en VBA.

merci d'avance à vous pour vos réponses

Cordialement

Daffy

Bonjour à tous

En plus de créer le PDF est-il possible de créer un sous-répertoire qui porte le nom d'une cellule spécifique.

Bonne journée

Rechercher des sujets similaires à "macro enregistrer pdf nom"