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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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
 
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: 9
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

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

@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 : 😵
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
805
Réponses
10
Affichages
466
Réponses
3
Affichages
532
Retour