Exporter en pdf selon arborescence de dossiers
Bonjour à toutes et tous,
Je m'adresse à vous au sujet d'une macro que j'aimerais créer mais je m'y perds clairement...
Pour résumer voici le projet : Générer des ordres de mission rapidement et facilement. Les ordres de mission doivent s'enregistrer en PDF dans le bon dossier (parmi une liste de plusieurs dossier) en fonction d'une cellule.
Vous trouverez ci-joint un document Excel ou je synthétise et explique ou j'en suis à ce jour.
A ce stade je ne trouve pas comment faire varier le dossier d'enregistrement, contrôler la présence ou non du bon sous dossier, le créer le cas échéant et enregistrer en pdf dedans.
J'espère que je suis assez explicite et clair dans ma demande et mes explications.
Je me tiens évidement à la disposition de celles et ceux qui auraient des interrogations ou des demandes complémentaires.
Merci à tous par avance !
Bonjour,
Sujet maintes fois abordé sur ce forum et ailleurs, avez-vous effectué des recherches
Sinon il y a notre ami Google
https://www.google.com/search?q=excel+g%C3%A9n%C3%A9rer+pdf+selon+arborescence
On peut trouver
https://forum.excel-pratique.com/excel/code-pour-enregistrer-fichier-selon-arborescence-128314
Et bien d'autres
Bonjour,
J'ai bien vu que l'enregistrement PDF était un sujet très fréquent. Par contre, après lecture de nombreux sujets je ne vois personne qui aborde l'enregistrement du fichier dans un emplacement fonction d'une cellule (j'ai 140 dossiers ou doivent se ranger les pdf), ces pdf doivent se ranger dans des sous dossiers s'ils existent (ou les créer et ranger dedans s'ils n'existent pas).
Mon soucis est que mon arborescence est variable et elle est fonction d'une cellule ou se trouve le chemin d'accès.
Ce point me pose particulièrement problème et je ne vois pas comment faire... encore moins avec mon niveau de débutant.
En toute bonne foie j'ai déjà consulté le sujet de "astil" et il me parait éloigné de ce que je cherche à faire.
Google ne m'a également pas été d'une grande aide non plus.
Me permettez vous donc d'aborder la problématique pas à pas avec l'aide de la communauté s'il vous plait ?
Je vous remercie par avance.
Re,
Alors faite vos demandes en pas à pas et non 5 questions dans la même demande
Perso, cela me rebute d'office
A+
Re,
Je comprends votre point de vu et comprends également que ma demande peut repousser.
Pour ce qui est de ma demande il est vrai que je présente le problème dans sa globalité mais je le fais avant tout pour une question de compréhension et de cohérence dans la construction du code.
Je cherche donc quelqu'un qui serait partant pour m'aider pas à pas.
Dans mon exemple j'ai bien mon bouton "enregistrer en pdf" qui enregistre dans un des dossiers "ciblé" et je demandais comment intégrer la notion de variation de ce chemin d'accès.
Tout est déjà expliqué en détail dans mon exemple mais en effet je cherche avant tout quelqu'un qui m'aide pas à pas.. pas quelqu'un qui me donne le résultat final (sans intérêt pour moi).
D'ailleurs je présentais le problème dans sa globalité pour avoir le regard de quelqu'un qui s'y connait afin d'avoir un "cadre" et comprendre ou je dois aller/ou je dois chercher et quels sont les points de vigilance.
J'espère que quelqu'un voudra bien me donner une piste et m'aider à avancer !
Re
Dans mon exemple j'ai bien mon bouton "enregistrer en pdf" qui enregistre dans un des dossiers "ciblé" et je demandais comment intégrer la notion de variation de ce chemin d'accès.
Utilisez simplement des variables, vous savez ce que c'est
Cordialement
Bonjour,
Je sais ce que c'est en effet. Je ne sais juste pas dans quelle direction aller mais vous m'avez déjà aidé pour faire le premier pas !
Sub variables()
'Déclaration des variables
Dim chemin_etape_1 As Variant
'Valeurs des variables
chemin_etape_1 = Cells(22, 17)
'Boîte de dialogue
MsgBox chemin_etape_1
End Sub
Je vous explique comment j'imagine la chose (dites moi si je fais fausse route) :
A ce stade j'arrive à faire ressortir la valeur que je dois prendre en compte pour déterminer le chemin d'enregistrement.
Je cherche à rechercher cette valeur dans un autre onglet et à faire ressortir le chemin d'enregistrement qui lui est affecté.
Dans un premier temps j'avais pensé à utiliser cellsSearch mais je penses que ce n'est pas une bonne idée car elle renvoie (sous forme de tableau) la liste des adresses de toutes les cellules contenant la valeur recherchée...
J'ai également pensé à adapter la fonction recherchev.
Au final, pouvez-vous me préciser quel méthode utiliser pour cette mise en relation ? (afin que ce soit le plus "correct" possible)
Je vous remercie pour votre aide.
Bonjour,
Commencez déjà par apprendre VBA correctement
https://www.excel-pratique.com/fr/vba
VBA est un langage de développement orienté objets,
ce qui veut dire que vous devez systématiquement spécifié l'objet conteneur qui est à traiter, donc
chemin_etape_1 = Cells(22, 17)
Est à remplacer par
chemin_etape_1 = ThisWorkbook.Sheets("NomDeLaFeuille").Cells(22, 17).Value
Ou pour être plus précis et lisible
chemin_etape_1 = ThisWorkbook.Sheets("NomDeLaFeuille").Range("$Q$22").Value
A+
Bonjour Ed6888,
J'ai abordé le sujet il y a peu ici ==> Sujet résolu depuis ;-)
https://forum.excel-pratique.com/excel/enregistrement-quotidien-en-pdf-avec-date-et-heure-187529
Dans mon cas je voulais juste changer ma lettre de lecteur C, D, W, etc......
Je pense donc qu'en arrangeant mon code à ta demande ça le fera !
Bon dimanche
Bonjour Dasaquit,
Excuse pour ce retour tardif, je n'avais pas vu ton message.
En tout cas je te remercie pour ton conseil :-) Je vais regarder ça alors !
De mon côté j'ai pas mal avancer sur la problématique d'enregistrement de mes PDF. Je suis encore en train de tester tout ça et je vous partagerai le résultat (si jamais ça peut aider quelqu'un !)
Bonne journée.