Automatisation de l'enregistrement d'un excel en pdf

Résolu/Fermé
p.girard
Messages postés
48
Date d'inscription
mercredi 12 mars 2014
Statut
Membre
Dernière intervention
29 août 2014
- 1 avril 2014 à 16:58
 AF - 24 mai 2018 à 09:14
Bonjour,

J'ai réalisé un modèle de devis et je souhaiterai y incorporer une automatisation.
Je précise que je suis sous excel 2010.

Mon but est, lorsque j'enregistre mon fichier excel en pdf, que le nom d'enregistrement me soit proposé automatiquement.
Je ne sais pas si cela est réalisable mais dans le meilleur des cas, je souhaiterai que le fichier se nomme : "Devis n°" & "Contenu de la cellule B12" & "Contenu de la cellule B13". Ainsi à chaque devis réalisé, cela évite de se tromper de numéro de devis.

Voilà donc mon problème. Est-ce réalisable et si oui savez-vous comment faire ?

En vous remerciant d'avance,

Bien cordialement,

PG

6 réponses

f894009
Messages postés
16495
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 mai 2022
1 633
2 avril 2014 à 10:56
Bonjour,

Choix du repertoire avec nom fichier defini:

Sub Export_PDF()
Dim fichier As String
'adaptez le nom de la feuille
With Worksheets("Feuil1")
fichier = "Devis n°" & .Range("B12") & .Range("B13") & ".pdf"
rep = SelDossier(fichier)

'pensez a ecrire le chemin
Chemin = rep & "\" & fichier
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
End Sub

Function SelDossier(Defaut As String)
'd'après "Nicolas", mpfe
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
With fd
.InitialFileName = Defaut
If .Show = -1 Then
SelDossier = fd.SelectedItems(1)
End If
End With
Set fd = Nothing
End Function

cela se fasse lors d'un enregistrement. si vous pensez a la disquette ou fichier enregistrer, desole mais ca ne marche pas comme ca.

Il faut un bouton ou le click sur une cellule definie pour lancer le code.
4
Merci beaucoup ! En 2018 c'est encore très utile ! Encore merci.
0