Macro enregistrer PDF _ Emplacement Variable

Fermé
Pilou4242 Messages postés 21 Date d'inscription jeudi 14 mai 2020 Statut Membre Dernière intervention 2 février 2022 - 20 sept. 2021 à 17:34
Pilou4242 Messages postés 21 Date d'inscription jeudi 14 mai 2020 Statut Membre Dernière intervention 2 février 2022 - 21 sept. 2021 à 14:53
Bonjour à tous,

Je pense que je suis au bon endroit pour poser ma question car je n'ai pas trouvé de réponse sur les autre postes.

j'ai crée une macro pour imprimer en PDF et en donnant un nom à ce fichier en fonction d'une cellule. Ca c'est ok. Voici ma macro

Sub Créer_PDF()


Dim monDossier As String, monFichier As String
monDossier = "O:\MO\etc... désolé je cache de véritable lien :)"
monFichier = [c4]

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
monDossier & monFichier, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub


Le problème avec cette macro est que le pdf est directement enregistré dans le dossier répertorié dans la macro. Je souhaite donc modifier ça.

J'aurai besoin de votre aide pour trouver une solution à mon problème:

- Première idée : Lorsque la macro commence, je ne veux pas éditer le pdf tout de suite mais je veux d'abord que l'on me demande où je souhaite enregistrer ce pdf.

- Deuxième idée : dans la définition de monDossier, je souhaite récupérer l'adresse où est stocké ce fichier Excel. Malheureusement, cette adresse est une variable car qui compte voudra utiliser ce fichier, l'enregistrera que un chemin d'accès spécifique non prévisible. Est-ce qu'il y a un moyen de récupérer cette variable ?

Je pense que la première idée est plus facilement réalisable mais je ne vois pas comment. Quant à la deuxième, si vous arrivez à faire quelques chose, je vous paye une bière :)


Dans un précédent post, Le Pivert m'a rebouté sur le site de Microsoft où le code suivant était écrit pour permettre le choix du fichier pour l'enregistrement.

Sub UseFileDialogOpen()

Dim lngCount As Long

' Open the file dialog
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.Show

' Display paths of each file selected
For lngCount = 1 To .SelectedItems.Count
MsgBox .SelectedItems(lngCount)
Next lngCount

End With

End Sub


J'ai fait des essais mais je ne trouve pas comment assembler les deux macro

Merci beaucoup pour vos conseils.

BOnne journée
A voir également:

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 20 sept. 2021 à 18:47
Bonjour,

comme ceci:

Option Explicit
Sub UseFileDialogSave()
Dim chemin As String
Dim lngCount As Long
' Save the file dialog
With Application.FileDialog(msoFileDialogSaveAs)
.AllowMultiSelect = True
.Title = "Saisissez le nom du fichier et son extension dans le menu déroulant"
.InitialFileName = Range("C4")
.Show
' Display paths of each file selected
For lngCount = 1 To .SelectedItems.Count
chemin = .SelectedItems(lngCount)
Next lngCount
End With
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub


0
Pilou4242 Messages postés 21 Date d'inscription jeudi 14 mai 2020 Statut Membre Dernière intervention 2 février 2022
21 sept. 2021 à 14:53
Ce que j'adore avec ce forum c'est la vos rapidité dans les réponses et je n'ai jamais eu d'échec.

Vous êtes des Dieux.

MErci beaucoup Le Pivert
0