Création PDF dans repertoir double variable
Bonjour le forum et merci d'éxister!!!
Je vous explique mon problème rappidement:
Je créer un PDF depuis VBA en utilisant ce code :
Fsource.Sheets("résultats").ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\TEMP\AUSCULTATION\" & ouvrage & " - " & piezzo & " - SYNTHESE.pdf"Le code fonctionne correctement mais j'aimerais ajouter une difficulté...
A l'aide du code ci dessous qui permet d'ajouter le dossier "AUSCULTATION s'il n'éxiste pas et d'ajouter le sous dossier "&ouvrage" j'aimerais que mon PDF se créer dans ce sous dossier "&ouvrage"
Sub AJOUT()
Dim ouvrage As String
ouvrage = ActiveSheet.Range("B3").Value
If Dir("C:\Temp\AUSCULTATION", 16) = "" Then MkDir ("C:\Temp\AUSCULTATION")
If Dir("C:\Temp\AUSCULTATION\" & ouvrage, 16) = "" Then MkDir ("C:\Temp\AUSCULTATION\" & ouvrage)
End SubJe pense que je dois modifier le filename mais après quelques tentatives sans succés je me tourne vers le forum.
Je suis parti sur la même base que ma création PDF mais je n'arrive pas à formuler le code qui me permettrait de générer on PDF dans le dossier C:\temp\auscultation\"ouvrage"\ fichier.pdf
Le code suivant n'est apparemment pas bon...
Fsource.Sheets("résultats").ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\TEMP\AUSCULTATION\ "&ouvrage" \"" & ouvrage & " - " & piezzo & " - SYNTHESE.pdf"Merci pour votre aide précieuse!
A bientôt
Salut,
Je ne peux pas vraiment te dire pourquoi ton code ne fonctionne pas, mais voici ci-dessous un code qui fonctionne bien chez moi.
Sub ss()
Dim ouvrage As String, piezzo As String
ouvrage = "OUVRAGE"
piezzo = "PIEZZO"
If Dir("C:\Temp\AUSCULTATION", 16) = "" Then MkDir ("C:\Temp\AUSCULTATION ")
If Dir("C:\Temp\AUSCULTATION\" & ouvrage, 16) = "" Then MkDir ("C:\Temp\AUSCULTATION\" & ouvrage)
Sheets("résultats").ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\TEMP\AUSCULTATION\" & ouvrage & "\" & ouvrage & " - " & piezzo & " - Synthèse"
End SubIl suffit parfois d’un signe qui manque (par exemple un \) et rien ne va plus. L’indication ‘.pdf’ semble inutile (mais ça passe aussi avec).
Si ceci ne t’aide pas, il faudrait nous fournir ton fichier complet.
Cordialement.
EDIT :
En regardant d’un peu plus prêt ton code, il y a en tout cas des erreurs dans le passage ci-après
Filename:="c:\TEMP\AUSCULTATION\ "&ouvrage" \"" & ouvrage & " - " & piezzo & " - SYNTHESE.pdf"Il faudrait en tout cas un espace entre le ‘&’ et le premier ‘ouvrage’, un signe ‘&’ après le premier ‘ouvrage’ et un espace après ce nouveau signe, éventuellement supprimer l’espace inutile devant le ‘\’ et supprimer un guillemet où tu en as mis deux. Mais je ne te garantis pas – sans avoir pu l’essayer par l’intermédiaire de ton fichier – que le code ainsi transformé fonctionnera quand même
Filename:="c:\TEMP\AUSCULTATION\ " & ouvrage & "\" & ouvrage & " - " & piezzo & " - SYNTHESE.pdf"Merci d'avoir pris le temps de me répondre,
Ton code fonctionne parfaitement, c'est vrai qu'il est assez simple d'oublier un " ou &....
Sans vouloir abuser de ton temps j'aurais aimé, après essai, créer un nouveau sous dossier "piezzo" est placer mes fichiers PDF dedans :
If Dir("C:\Temp\AUSCULTATION\" & ouvrage & "\" & piezzo &, 16) = "" Then MkDir ("C:\Temp\AUSCULTATION\" & ouvrage & "\" & piezzo &)Sans succés... je sais que je ne suis pas loin de la vérité mais je coince encore bêtement.
Après une dernière tentative, tout fonctionne avec ce code:
If Dir("C:\Temp\AUSCULTATION\" & ouvrage & "\" & piezzo, 16) = "" Then MkDir ("C:\Temp\AUSCULTATION\" & ouvrage & "\" & piezzo)Suivi de ce code pour placer mon PDF dans le sous dossier:
Sheets("saisie").ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\TEMP\AUSCULTATION\" & ouvrage & "\" & piezzo & "\" & ouvrage & " - " & piezzo & " - détail"Voila!
Merci encore pour ton aide Yvouille !
A bientôt