Avoir un Filname variable avec VBA Excel

Résolu/Fermé
Busimax09 Messages postés 33 Date d'inscription mercredi 22 février 2012 Statut Membre Dernière intervention 25 janvier 2013 - 17 mai 2012 à 15:30
Busimax09 Messages postés 33 Date d'inscription mercredi 22 février 2012 Statut Membre Dernière intervention 25 janvier 2013 - 21 mai 2012 à 18:51
Bonjour,
J'ai un soucis et je pense que quelqu'un pourra m'aider.
Voilà, j'ai créé une macro sur Excel qui me permet d'enregistrer mon fichier dans un endroit bien précis et sous un format .pdf.
Bref là n'est pas le problème.
Je souhaiterais que mon fichier pdf s'enregistre sous un le nom du client à qui le fichier est destiné. Le nom du client étant indiqué sur le fichier, je voudrais que VBA le récupère pour l'utiliser en tant que nom du fichier à enregistrer.
Le nom du fichier est donc variable.
Pour cela, il doit y avoir une formule à entrer dans VBA après "filename=..."

J'espère avoir été clair!

Merci beaucoup.



3 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 207
17 mai 2012 à 17:20
Bonjour,

chemin="D:\tmp\"
' nom du fichier en A1
... Filename:= chemin & A1 & ".pdf", ...

eric
0
Busimax09 Messages postés 33 Date d'inscription mercredi 22 février 2012 Statut Membre Dernière intervention 25 janvier 2013
21 mai 2012 à 13:39
Bonjour,

Lorsque j'ajoute votre formule dans mon module VBA, l'enregistrement se fait toujours au dessus du précédent...
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 207
21 mai 2012 à 13:45
Bonjour,

en clair ça veut dire ?
0
Busimax09 Messages postés 33 Date d'inscription mercredi 22 février 2012 Statut Membre Dernière intervention 25 janvier 2013
21 mai 2012 à 14:02
Et bien j'ai créer un bouton "enregistrer" auquel j'ai affecté la macro.
Après Filename, j'ai écrit le nom de la cellule dont je souhaite que le contenu serve de nom pour le fichier.
Mais l'enregistrement se fait toujours sous le nom du classeur et pas sous le nom de la cellule
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 207
21 mai 2012 à 15:13
oui, excuse moi j'avais été un peu vite sur la syntaxe :
..., Filename:="D:\tmp\" & [A1] & ".xls", ....
ex:
ActiveWorkbook.SaveAs Filename:="D:\tmp\" & [A1] & ".xls"

eric
0
Busimax09 Messages postés 33 Date d'inscription mercredi 22 février 2012 Statut Membre Dernière intervention 25 janvier 2013
21 mai 2012 à 15:29
Sub Macro1()
'
' Macro1 Macro
'

'
ChDir "C:\Users\christophe\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="D:\tmp\"&[B13] _
"C:\Users\christophe\Desktop\CONTRAT_LOCATION.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub

Voilà la macro...
La sauvegarde ne fonctionne pas
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 207
21 mai 2012 à 17:50
C'est sûr que si tu mélanges mon répertoire et le tien ça ne va pas marcher...

Filename:="C:\Users\christophe\Desktop\ & [B13] & ".pdf"

avec en B13 de la feuille active le nom du fichier : CONTRAT_LOCATION
Si la feuille risque de ne pas être active alors :
Filename:="C:\Users\christophe\Desktop\ & [Feuil1!B13] & ".pdf"

eric
0
Busimax09 Messages postés 33 Date d'inscription mercredi 22 février 2012 Statut Membre Dernière intervention 25 janvier 2013
21 mai 2012 à 18:51
En effet c'est pas malin.
Et bien je vous remercie mon problème est désormais résolu!

Maxime
0