Enregistrer en PDF à partir d'une cellule contenant une date

Bonjour à Toutes et à Tous,

Je bloque sur une ligne de code pour enregistrer le contenu d'une feuille Excel en format pdf.

J'ai lu beaucoup d'articles sur le forum qui m'ont bien aidé, malgré tout je ne comprends pas mon erreur.

Avec le code ci-dessous, pas de problème, le pdf est bien créé et enregistré à l'endroit souhaité sur mon serveur.

Mais le nom du fichier n'est pas variable ("Toto").

Sub Sauvegarde_PDF()

Dim Chemin As String
Dim NomFich As String

Chemin = "\\adresse-de-mon-dossier-sur-mon-serveur\"
NomFich = "Toto" & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NomFich, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=False

End Sub

Dès lors que j'introduis une variable dans le nom du fichier - par exemple en ajoutant la date qui se situe en cellule B2 - l'enregistrement en pdf ne fontionne plus, et les lignes de codes suivantes se surlignent en jaune, sans indiquer de message d'erreur particulier. Je ne comprends pas mon erreur et sollicite votre aide.

Sub Sauvegarde_PDF()

Dim Chemin As String
Dim NomFich As String

Chemin = "\\adresse-de-mon-dossier-sur-mon-serveur\"
NomFich = "Toto" & Format ([B2], "dd_mm_yyyy") & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NomFich, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=False

End Sub

D'avance merci pour votre aide

JRemi

Bonjour,

Essaie :

....Format ([B2], "dd\_mm\_yyyy")...

Cordialement.

Merci MFerrand pour ta réponse, mais j'ai le même problème.

Je pense d'ailleurs que le problème n'est pas lié au format de date car si j'utilise le code ci-dessous j'ai également le même problème.

Dans ce code j'utilise une autre cellule (K2) et s'agissant de texte, je lui demande d'utiliser le contenu (value), mais ça ne marche pas plus.

Sub Sauvegarde_PDF()

Dim Chemin As String
Dim NomFich As String

Chemin = "\\adresse-de-mon-dossier-sur-mon-serveur\"
NomFich = "Toto" & [K2].Value & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NomFich, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=False

End Sub

Merci de votre aide

Est-ce que B2 ou K2 est sur la feuille active au moment de l'exécution ?

Oui les cellules sont bien sur la feuille active. Merci pour cette piste de recherche.

J'ai fini pas trouver l'origine de mon problème, qui n'est pas lié au code VBA.

En fait l'adresse indiquée dans mon chemin est trop longue et ne permet pas l'enregistrement.

J'ignore s'il s'agit d'une limitation Windows ou d'une règle interne à l'entreprise dans laquelle je travaille.

Je m'en suis rendu compte en enregistrant manuellement un fichier dans le répertoire concerné, et j'ai eu un message d'erreur.

J'étais juste à la limite en nombre de caractères et en ajoutant ma variable dans mon nom de fichier, j'ai dépassé la limite et du coup l'enregistrement n'était pas autorisé.

Merci pour ton aide MFerrand

Bonjour,

Effectivement ! Il s'agit d'une limitation Windows...

Rechercher des sujets similaires à "enregistrer pdf partir contenant date"