Microsoft 365 pb enregistrement PDF de plusieurs feuilles d'un classeur excel

MG_000

XLDnaute Nouveau
Bonjour tout le monde
j'aurai besoin d'aide car je rencontre des erreurs systématiquement lorsque je teste ma macro pour enregistrer en PDF
je cherche à enregistrer 3 feuilles sur la totalité du classeur, celles ci porteront un nom spécifique

voici mon code
Sub enregistrerpdf()
Dim nompdf As String
Dim dossier As String

dossier = "C:\Users\Public\Documents"

nompdf = Informations & ThisWorkbook.Worksheets("Informations").Range("C3") & ThisWorkbook.Worksheets("Informations").Range("K7")

Sheets("Informations").ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

End Sub

et voici l'erreur ... et je ne comprend pas

Merci d'avance

1698227954903.png
 

Phil69970

XLDnaute Barbatruc
Bonjour @MG_000

Le pb vient surement d'ici :
nompdf = Informations & ThisWorkbook.Worksheets("Informations").Range("C3") & ThisWorkbook.Worksheets("Informations").Range("K7")
Que contient C3 et K7 surement une date dans l'une des 2 cellules !!!

Explication :
Tu as utilisé des caractères interdits dans le nom du chemin pour ton fichier

Merci de ton retour
 

MG_000

XLDnaute Nouveau
k7 est un n° de dossier mélangeant lettres et chiffres avec des traits d'union
C3 et K7 correspondent à des cellules fusionnées
C3 = C3:N3
K7 = K7:N7
est ce que dans le cas d'une cellule fusionnée il faut mettre C3:N3 ou juste C3 ?
malheureusement je ne peux pas fournir le fichier excel car il contient des données entreprise
merci de ton aide en tout cas
 

Phil69970

XLDnaute Barbatruc
Re

Et à cela sert
dossier = "C:\Users\Public\Documents"

Puisque que cela ne sert pas dans le nom du fichier !!!

Sheets("Informations").ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

En rouge c'est le nom que tu as donné à ton fichier

Et tu as défini le nom ici
nompdf = Informations & ThisWorkbook.Worksheets("Informations").Range("C3") & ThisWorkbook.Worksheets("Informations").Range("K7")

Et il est lié à la valeur des cellules C3 et K7
D’où ma question sur C3 et K7

Montre la copie d'écran de C3 et K7

malheureusement je ne peux pas fournir le fichier excel car il contient des données entreprise
Et bien tu anonymise ton fichier en remplaçant les données sensible par d'autre valeur
Exemple
Mr Dupont devient Toto par exemple
 

MG_000

XLDnaute Nouveau
j'ai testé en mettant C3:N3 et K7:N7 et du coup j'ai cette erreur 13
voici une copie de l'onglet informations, en vert les cellules C3 et K7, en dehors de C3 qui correspond à la formule aujourdhui(, K7 n'a aucune formule, c'est juste de la saisie

1698234531770.png
 

Pièces jointes

  • 1698234432141.png
    1698234432141.png
    53 KB · Affichages: 7

MG_000

XLDnaute Nouveau
voici le fichier et son "organisation"

pour ta remarque dossier = "C:\Users\Public\Documents" => c'est le dossier dans le lequel je voudrais que ce soit enregistré

merci encore
 

Pièces jointes

  • formulaire plasmas (version 1) - forum.xlsm
    290.1 KB · Affichages: 3

Phil69970

XLDnaute Barbatruc
Re

1)
pour ta remarque dossier = "C:\Users\Public\Documents" => c'est le dossier dans le lequel je voudrais que ce soit enregistré
C'est loin de faire ce que tu demande !!

2)
les cellules comportent des / lorsqu'elles sont vides
Et bien il faudra te passer de la cellules K7 dans le nom du fichier ou trouver un moyen de substitution

3) Il aurait été plus clair si j'avais eu la cellules K7 renseigné pour savoir ce qu'elle contient normalement

4) Dans le fichier joint il y a 6 modules 5(module vide) et une seule macro les autres macros sont ou ?????
 

MG_000

XLDnaute Nouveau
voici le fichier complet sans le nom des clients

merci d'être indulgent car je n'ai aucune connaissance VBA et toutes les macros que mon fichier contient viennent de ce que j'ai pu trouver sur les différents forums
 

Pièces jointes

  • formulaire plasmas (version 1) - forum 2.xlsm
    299.7 KB · Affichages: 1

Phil69970

XLDnaute Barbatruc
@MG_000

Je te propose ce fichier
Tu peux rentrer la date comme avant en C3 ainsi que la case K7 la macro corrige ce qu'il faut :)

Mais je doute que truc soit un N° de case
1698241263751.png



Remarque :
Je ne me suis occupé uniquement de la partie PDF
Mais il y a des améliorations à faire dans tes autres macros ;)

Merci de ton retour
 

Pièces jointes

  • Enreg en PDF V1.xlsm
    337.4 KB · Affichages: 1

Phil69970

XLDnaute Barbatruc
@MG_000

Je te propose la V2

Je me suis amusé à faire ces 2 modules :

La V1 traitait du PDF voir le post précédent
Dans la V2 j'ai refait un module pas terrible au niveau code

1698274618534.png


Que fait le module Action
Il remplace tes macros suivantes pas très optimisés : o_O
1) Sub copiedonnées()
2) Sub effacementdemande()
3) Sub effacementinfo()

Voir les commentaires que j'ai mis dans le code VBA et le fichier

Merci de ton retour
 

Pièces jointes

  • Enreg en PDF V2.xlsm
    342.4 KB · Affichages: 4

Discussions similaires

Réponses
3
Affichages
489

Statistiques des forums

Discussions
313 271
Messages
2 096 724
Membres
106 720
dernier inscrit
Alain EDZOA