Bonjour, votre code attend la sélection d'un fichier et non d'un répertoire.
Application.GetSaveAsFilename.
Pour sélection uniquement un chemin et pourvoir l'utiliser ensuite il faut :
-Demander un chemin
-sauvegarder le chemin dans votre cellule D4 ( action qui n'est pas obligatoire )
-Enfin utiliser le chemin obtenu pour enregistrer ce que vous souhaitiez ?
Ce qui n'est pas précisé dans votre message ( à par le mot fiche ? ) sous quel forme la fiche pdf ? un onglet du fichier acutellement ouvert ? ... celà reste à définir.
Ci-aprés l'exemple qui enregistre la copie du fichier excel entier.
Private Sub CommandButton1_Click()
Dim ChoixDossier As String
If Val(Application.Version) >= 10 Then
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ActiveWorkbook.Path & "\"
.Show
If .SelectedItems.Count > 0 Then
ChoixDossier = .SelectedItems(1)
Else
ChoixDossier = ""
End If
End With
End If
Range("D4") = ChoixDossier & "\"
ActiveWorkbook.SaveAs Filename:=ChoixDossier &"\" & "Sauvegarde_Sorties.xlsm"
End Sub