Macro enregistrer en PDF avec nom de fichier prédéfini par champ de formul

Bonjour à tous,

Je suis en train de travailler sur un formulaire word.
Je cherche à créer une macro qui permettra d'enregistrer au format PDF ce fichier, avec un nom prédéfinie par la macro.
J'avais travaillé sur une macro similaire sur Excel, que je cherche à adapter pour word.
La voici :

 
Sub EnregistrerPDF()
Dim Chemin As String, NomFichier As String, madate As String, madate2 As String

a = MsgBox("Exporter en PDF ?" & Chr(13) & "En cliquant sur OK, vous pourrez choisir le dossier de destination." & Chr(10) & Chr(10) & "ATTENTION : le nom du fichier est créé automatiquement.", vbYesNo + vbQuestion)
If a = vbYes Then

    NomFichier = ActiveDocument.FormFields("nomsite")
    madate = Now()
    madate2 = Format(madate, "dd-mmmm-yyyy hh-mm")
    Chemin = .SelectedItems(1)

  With Application.FileDialog(msoFileDialogFolderPicker)
    If .Show = -1 Then    ' Clic sur Ok

    Else

     Exit Sub
    End If
  End With

  Active.Document.ExportAsFixedFormat Type:=wdTypePDF, FileName:=Chemin & "\" & NomFichier & " - " & madate2, _
                                          Quality:=wdQualityStandard, IncludeDocProperties:=True, _
                                          IgnorePrintAreas:=False, OpenAfterPublish:=True
Else
End If

End Sub

Le problème est que l'argument .SelectedItems(1) plante. Or c'est celui ci qui permet à l'utilisateur de choisir le dossier de destination...
Quelqu'un saurais pourquoi ?

Merci à toutes et tous !

Bonjour,

C'est parce que .selecteditems est un membre de l'objet filedialog. Il faudrait ceci :

Sub EnregistrerPDF()
Dim Chemin As String, NomFichier As String, madate As String, madate2 As String

a = MsgBox("Exporter en PDF ?" & Chr(13) & "En cliquant sur OK, vous pourrez choisir le dossier de destination." & Chr(10) & Chr(10) & "ATTENTION : le nom du fichier est créé automatiquement.", vbYesNo + vbQuestion)
If a = vbYes Then
    NomFichier = ActiveDocument.FormFields("nomsite")
    madate = Now()
    madate2 = Format(madate, "dd-mmmm-yyyy hh-mm")
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = -1 Then Chemin = .SelectedItems(1) Else Exit Sub
    End With
    ActiveDocument.ExportAsFixedFormat Type:=wdTypePDF, FileName:=Chemin & "\" & NomFichier & " - " & madate2, _
                                          IgnorePrintAreas:=False, OpenAfterPublish:=True
End If

End Sub

Cdlt,

Rechercher des sujets similaires à "macro enregistrer pdf nom fichier predefini champ formul"