Sauvegarder PDF par macro

Résolu/Fermé
RobiQc - 26 févr. 2022 à 20:04
RobiQc Messages postés 21 Date d'inscription dimanche 20 décembre 2020 Statut Membre Dernière intervention 3 mai 2022 - 12 mars 2022 à 21:26
Bonjour
J'importe des données dans un modèle EXCEL, lequel je sauvegarde sous un nom de classeur, disons GESTION. Ce classeur possède 3 onglets: TRAVAIL, RAPPORT PAGE 1, et RAPPORT PAGE 2. Seulement les 2 pages de RAPPORT doivent être sauvegardées en PDF

J'ai créé une macro pour créer un fichier PDF qui va sauvegarder ce PDF sur le bureau, sous le nom de fichier GESTION que je viens de nommer.

Cela fonctionne. Mais lorsque je veux réouvrir mon modèle pour importer d'autres données et créer un autre nom de fichier, cela ne fonctionne pas, en ce sens qu'il fait le travail, mais conserve l'ancien nom de classeur (STATISTIQUES FORMATIONS) dans le cas présent).
Je voudrais qu'il prenne toujours le nom du classeur que je sauvegarde à chaque opération au lieu de prendre STATISTIQUES FORMATIONS par défaut.

À la rigueur, il pourrait prendre le référence de cellule G2 de l'onglet TRAVAIL

Voici mes données:

Sheets(Array("RAPPORT PAGE 1", "RAPPORT PAGE 2")).Select
Sheets("RAPPORT PAGE 1").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Ordi8\Desktop\STATISTIQUES FORMATIONS.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Sheets("RAPPORT PAGE 2").Select
ChDir "C:\Users\Ordi8\Desktop"

Merci beaucoup de votre aide
A voir également:

43 réponses

Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
12 mars 2022 à 11:45
Bonjour,
Eh bien si c'est pas bon pour le PDF il en va de même pour le classeur Excel.
Voici ma proposition: https://www.cjoint.com/c/LCmkS344min
1
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
12 mars 2022 à 18:40
Merci, content pour vous.
Pensez de marquer comme résolu si c'est le cas.
1
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
27 févr. 2022 à 12:15
Bonjour,
J'ai réalisé un test selon vos informations en utilisant le code fourni.
Une feuille PDF est bien enregistrée sur le bureau, mais pas la deuxième... !
Votre classeur de sauvegarde (ou modèle) reste bien enregistrer avec son nom GESTION....
Alors ou est votre problème. ?

0
Bonjour Le Pingou et merci beaucoup pour ta réponse rapide.
Je m'aperçois que ma question n'était pas très claire. Et je comprends ta réponse en relation avec ce que tu as probablement compris.

Voici donc quelques autres informations.
- J'ouvre mon fichier modèle vide
- J'y importe les données venant d'un autre fichier dans mon modèle vide (mon classeur de travail)
- La cellule F2 de mon classeur contient la date du travail, et la cellule G2 contient le titre de la formation
- Je sauvegarde immédiatement ce fichier selon les informations contenues dans lesdites cellules, sous le format "20220221 Pouvoirs"
- À chaque nouveau fichier, ce nom change selon le contenu de F2 et G2.
- Ensuite, j'ai une macro qui vient compléter les informations manquantes dans mon classeur.
- Puis, j'ai alors créé une macro pour PDF

MACRO CRÉER PDF

La macro sauvegardée lors de la construction du fichier modèle vide contient nécessairement le nom d'un fichier (F2 et G2).

Je crois que mon problème se situe là: lors de la construction de la macro, j'ai demandé d'aller chercher le nom du fichier que j'avais sauvegardé. Il garde donc ce nom en mémoire dans son instruction de macro (voir mon énoncé ci-haut, ou le nom STATISTIQUES FORMATION était le nom du fichier utilisé pour la génération de la macro)

Voici ma ligne de code que je voudrais modifier:

"C:\Users\Ordi8\Desktop\STATISTIQUES FORMATIONS.pdf",

Ma question serait donc plutôt: quelle instruction dois-je donner dans cette ligne pour que STATISTIQUES FORMATIONS.pdf soit plutôt remplacé par le nom du fichier que je viens de sauvegarder.

Il me semble avoir vu un VBA quelque part qui allait soit chercher le nom d'un classeur pour l'insérer dans une vba, ou chercher un adresse de cellule au lieu d'une réponse tapée au clavier.

J'espère être un peu plus clair. Merci encore et bonne journée.

RobiQc
0
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
28 févr. 2022 à 17:07
Bonjour,
Donc à la place de : "C:\Users\Ordi8\Desktop\STATISTIQUES FORMATIONS.pdf"

vous voulez: "C:\Users\Ordi8\Desktop\20220221 Pouvoirs.pdf"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
Modifié le 28 févr. 2022 à 18:28
Bonjour,
Petit oubli, ou se trouve votre macro ( ou les deux!) , dans quel classeur ?
Et si possible le code complet!
Merci

0
RobiQc Messages postés 21 Date d'inscription dimanche 20 décembre 2020 Statut Membre Dernière intervention 3 mai 2022
28 févr. 2022 à 18:59
Bonjour et merci Le Pivert.
Mon fichier modèle se trouve dans le répertoire des modèles personnalisés sous le nom "ModèleStatsFormation", accessible via un raccourci sur le Bureau
Mon fichier contient 4 onglets: DIRECTIVES, TRAVAIL, RAPPORT PAGE 1 et RAPPORT PAGE 2.
La macro est initiée par un bouton qui se trouve dans RAPPORT PAGE 2, dans le répertoire des macros, pour"Tous les classeurs ouverts".
Le code complet de cette macro se trouve tout en haut de ce message.
Merci
0
RobiQc Messages postés 21 Date d'inscription dimanche 20 décembre 2020 Statut Membre Dernière intervention 3 mai 2022
28 févr. 2022 à 19:08
ReBonjour
Lorsque j'ai créé la macro, elle a pris le nom du fichier ouvert qui était STATISTIQUES FORMATIONS. Ce nom s'est enregistré dans la macro lorsque j'ai sauvegardé le fichier.
Maintenant, il me ramène toujours ce nom lorsque je réactive la macro. Mais le nom du fichier n'est plus STATISTIQUES FORMATIONS, mais bien autre chose. Je veux dire que le nom du fichier change à chaque fois que je réactive la macro car les données ne sont pas les mêmes mais la macro doit générer le pdf avec les données du classeur que je viens d'ouvrir et qui porte nécessairement un nouveau nom. Par exemple, un fichier s'appellera 220228 Gestion, alors que lors de l'ouverture du modèle la prochaine fois, le fichier devra se nommer par exemple 220304 Pouvoirs, et ainsi de suite.
Je veux donc, à l'intérieur de la macro, demander au système de récupérer le nom du classeur, pour qu'il sauvegarde le PDF sous le nom de ce classeur
Merci encore. Mes connaissances en VBA et macros sont quelque peu limitées. Merci de votre patience !
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
1 mars 2022 à 09:19
Voici ma ligne de code que je voudrais modifier:

"C:\Users\Ordi8\Desktop\STATISTIQUES FORMATIONS.pdf"


mettre le nom du fichier dans une cellule comme ceci:

"C:\Users\Ordi8\Desktop\" & Range("A1") & ".pdf"

0
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
1 mars 2022 à 10:41
Bonjour,
Modifier votre code comme suit:
Sheets("RAPPORT PAGE 1").Activate
NomFiche = Format(Sheets("TRAVAIL").Range("F2"), "ddmmyyyy") & " " & Sheets("TRAVAIL").Range("G2")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Ordi8\Desktop\" & NomFiche & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True


Salutations.
Le Pingou
0
RobiQc Messages postés 21 Date d'inscription dimanche 20 décembre 2020 Statut Membre Dernière intervention 3 mai 2022
1 mars 2022 à 22:34
Bonjour et merci pour votre réponse
J'ai un message qui me dit que la macro ne fonctionne pas car le fichier n'a pas été sauvegardé. Vous serait-il possible de créer une nouvelle macro pour sauvegarder le fichier selon les directives ci-haut. Merci beaucoup encore une fois.
RobiQc
0
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
Modifié le 1 mars 2022 à 22:50
Bonjour,
Quelle est le message exact ....?
Je viens de faire un test sur mon fichier d'essai et tout fonctionne correctement, le fichier en PDF est bien enregistré avec le nom correct.
Avec votre fichier modèle se serait plus profitable pour vous donnez la bonne réponse..
Merci de le mettre sur https://www.cjoint.com/ et poster le lien!

0
RobiQc Messages postés 21 Date d'inscription dimanche 20 décembre 2020 Statut Membre Dernière intervention 3 mai 2022
1 mars 2022 à 23:17
Bonjour et merci
Malheureusement, je n'ai pas réussi à placer le fichier sur CJoint.com
Désolé.
0
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
2 mars 2022 à 14:17
Bonjour,
Ci dessous la marche à suivre de Raymond Pentier (salutations)
 1) Aller dans https://www.cjoint.com/ 
2) Cliquer sur [Parcourir] pour sélectionner le fichier (15 Mo maxi)
3) Défiler vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; faire un clic-droit dessus et choisir "Copier le lien"
5) Revenir dans la discussion sur CCM, et dans votre message faire "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

0
RobiQc Messages postés 21 Date d'inscription dimanche 20 décembre 2020 Statut Membre Dernière intervention 3 mai 2022
2 mars 2022 à 15:39
Bonjour et merci pour votre attention.
Voici le fichier joint. Enfin !!!
Petite remarque: "Copier le lien" est plutôt "Copier l'adresse du lien"

https://cjoint.com/c/LCcoHF8Jb4o

J'attends vos commentaires et merci encore!
RobiQc
0
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
2 mars 2022 à 22:39
Bonsoir,
Votre fichier modèle (ModeleStatsFormation1.xltm) avec la macro (ancienne sous (Sub CréerPDF_OLD())
Le fichier: https://www.cjoint.com/c/LCcvNIkLQun
0
RobiQc Messages postés 21 Date d'inscription dimanche 20 décembre 2020 Statut Membre Dernière intervention 3 mai 2022
2 mars 2022 à 23:27
Bonjour et merci beaucoup ! Tout a marché, excepté la sauvegarde à la fin: ce fichier doit se sauvegarder sous le format Classeur excel prenant en charge les macros. j'ai eu un message d'erreur disant que le fichier de sauvegarde n'avait pas la bonne extension.

Copie message erreur envoyé dans Cjoint
Merci
RobiQc
0
RobiQc Messages postés 21 Date d'inscription dimanche 20 décembre 2020 Statut Membre Dernière intervention 3 mai 2022
2 mars 2022 à 23:28
désolé; voici le lien du fichier.
https://cjoint.com/c/LCcwBKKzW1o
0
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
Modifié le 3 mars 2022 à 15:07
Bonjour,
D'après l'image le problème est avec le fichier pdf.... est-ce que lien est correct pour vous
C:\Users\Ordi8\Documents\
(pour moi tout fonctionne)
Note le classeur vient sauvegarder après.


0
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
3 mars 2022 à 21:51
Bonsoir,
Suite à une petite recherche sur le code d'erreur qui ressort du poste 17 c’est bien le lien
C:\Users\Ordi8\Documents\
qui n'est pas correcte

0
Le Pingou Messages postés 12140 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 18 septembre 2024 1 446
4 mars 2022 à 09:49
Bonjour RobiQc,
J’ai relu les directives pour l’utilisation du modèle et j’ai adapté la macro en conséquence voir module (lepingou).
Votre fichier : https://www.cjoint.com/c/LCeiXjyN3gn

0