Transformation d'un fichier excel en PDF par macro
Fermé
lebeaujo
Messages postés
4
Date d'inscription
samedi 20 février 2016
Statut
Membre
Dernière intervention
24 février 2016
-
21 févr. 2016 à 09:53
lebeaujo - 3 mars 2016 à 17:36
lebeaujo - 3 mars 2016 à 17:36
A voir également:
- Transformation d'un fichier excel en PDF par macro
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Comment faire un fichier pdf - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
4 réponses
tyranausor
Messages postés
3545
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
1 avril 2022
2 035
22 févr. 2016 à 19:22
22 févr. 2016 à 19:22
Bonjour, je vois que passes par CDO pour envoyer ton mail, je penses donc que tu n'as pas de logiciel de messagerie type Outlook ou Thundebird
tyranausor
Messages postés
3545
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
1 avril 2022
2 035
27 févr. 2016 à 19:42
27 févr. 2016 à 19:42
Bonjour, en effet, en testant le code le fichier pdf est remplacé par le plus récent. Et avec la commande Kill il est supprimé après l'envoie.
Pour ton problème d'historisation (garder une copie), la solution est donnée ici.
Il faudrait, pour différencier les pdf que tu leur attribue un nom personnalisé qu'un générique. Je pense plus à Devis Truc pour l'entreprise Truc.
Pour ton problème d'historisation (garder une copie), la solution est donnée ici.
Il faudrait, pour différencier les pdf que tu leur attribue un nom personnalisé qu'un générique. Je pense plus à Devis Truc pour l'entreprise Truc.
tyranausor
Messages postés
3545
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
1 avril 2022
2 035
28 févr. 2016 à 21:53
28 févr. 2016 à 21:53
Bonjour, c'est la propriété filename qui contiendra la variable.
Admettons que la cellule A1 contienne le nom de la société (ex : "Truc"), le contenu de A1, donc sa valeur, sera ma variable (par exemple nom).
Donc
ce qui donne
Admettons que la cellule A1 contienne le nom de la société (ex : "Truc"), le contenu de A1, donc sa valeur, sera ma variable (par exemple nom).
Donc
filename:= ActiveWorkbook.Path & "" & "Devis " & nom & ".pdf"
ce qui donne
Sheets("Devis").ExportAsFixedFormat Type:=xlTypePDF, Filename:= ActiveWorkbook.Path & "\" & "Devis " & nom & ".pdf"
Merci, cela fonctionne.
Sans abuser, j'ai le même problème avec un fichier Excel
J'ai créé une macro toujours pour une commande et une macro pour l'envoi par mail et sauvegarde.
La macro pour commande impec
La macro pour l'envoi me donne une erreur comme quoi il ne trouve pas le fichier
Ces macros se trouve dans un serveur au boulot car différente personnes pourraient l'utiliser.
La sauvegarde du fichier peux rester dans le dossier émetteur et comme référence une cellule cette cellule serait le B30 qui contiendrai le N° de machine ainsi que la date de livraison.
Pourriez vous me donner un code pour cela.
Encore un très grand merci
Sans abuser, j'ai le même problème avec un fichier Excel
J'ai créé une macro toujours pour une commande et une macro pour l'envoi par mail et sauvegarde.
La macro pour commande impec
La macro pour l'envoi me donne une erreur comme quoi il ne trouve pas le fichier
Ces macros se trouve dans un serveur au boulot car différente personnes pourraient l'utiliser.
La sauvegarde du fichier peux rester dans le dossier émetteur et comme référence une cellule cette cellule serait le B30 qui contiendrai le N° de machine ainsi que la date de livraison.
Pourriez vous me donner un code pour cela.
Encore un très grand merci
tyranausor
Messages postés
3545
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
1 avril 2022
2 035
3 mars 2016 à 00:23
3 mars 2016 à 00:23
Bonjour, admettons que tu utilises la même macro pour enregistrer la feuille Devis en pdf et pour envoyer celle-ci, il te suffit d'ajouter le chemin donné précédemment.
Cependant, ton message me laisse penser que tu as deux macros, une pour l'enregistrement et une autre pour l'envoi.
Pour la seconde, indiques juste dans le chemin de la pièce jointe l'endroit exact où ton fichier se trouve. En reprenant mon exemple, si ton fichier Excel se trouvait sur le bureau, le fichier pdf "Devis Truc.pdf" doit se trouver sur ton bureau. Donc il faut que la macro trouve ce fichier pdf sachant que son nom est variable. Je te propose un peu de lecture sur les variables. Dans Excel, tu importes donc le code d'envoi par mail mais il faut le mettre dans le même module sinon ta variable ne sera pas gardée (tu met ton curseur dessus pour voir)
Cependant, ton message me laisse penser que tu as deux macros, une pour l'enregistrement et une autre pour l'envoi.
Pour la seconde, indiques juste dans le chemin de la pièce jointe l'endroit exact où ton fichier se trouve. En reprenant mon exemple, si ton fichier Excel se trouvait sur le bureau, le fichier pdf "Devis Truc.pdf" doit se trouver sur ton bureau. Donc il faut que la macro trouve ce fichier pdf sachant que son nom est variable. Je te propose un peu de lecture sur les variables. Dans Excel, tu importes donc le code d'envoi par mail mais il faut le mettre dans le même module sinon ta variable ne sera pas gardée (tu met ton curseur dessus pour voir)
Je te remercie beaucoup, car maintenant cela fonctionne impec.
Vu l'heure que tu as envoyé le message, n'oublie pas de te reposer quand même.
Encore merci.
Encore une petite question, mais cela ne presse pas
Dans une cellule de ma commande je dois donner une adresse de livraison suivant ou la machine ce trouve ex: CLI Luttre ou CLI Mons ou CLI Tournai .....
Pour cela j'ai fait : Tapez 1 pour CLI Luttre; Tapez 2 pour CLI Mons ....etc
et dans mon fichier Excel suivant le N° tapez je fais une recherche verticale
Ma question: serait il possible de faire cela avec une macro ?
Vu l'heure que tu as envoyé le message, n'oublie pas de te reposer quand même.
Encore merci.
Encore une petite question, mais cela ne presse pas
Dans une cellule de ma commande je dois donner une adresse de livraison suivant ou la machine ce trouve ex: CLI Luttre ou CLI Mons ou CLI Tournai .....
Pour cela j'ai fait : Tapez 1 pour CLI Luttre; Tapez 2 pour CLI Mons ....etc
et dans mon fichier Excel suivant le N° tapez je fais une recherche verticale
Ma question: serait il possible de faire cela avec une macro ?
24 févr. 2016 à 19:43
Si au travail sur le PC j'ai Outlook