Convertir en pdf puis envoyer par mail (TB)

Résolu/Fermé
Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025 - 19 nov. 2021 à 20:19
Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025 - 21 nov. 2021 à 19:47
Bonsoir toutes et tous !
Je souhaite convertir et envoyer une feuille excel et l'envoyer par courriel (TB).
Voici le code que j'utilise :
Sub CommandButton1_Click()
    PieceJointe = Environ("Temp") & "\" & Range("A3") & " " & "régie"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PieceJointe & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

    Destinataire = Range("A4")
    Sujet = Range("A3") & " " & "régie"
    Nom = Range("D8")
    Texte = "Bonjour " & Nom & "%0a%0aMerci de bien vouloir trouver ci-joint la facture en objet%0a%0aBien cordialement."

    Mail = "D:\PortableApps\ThunderbirdPortable\ThunderbirdPortable.exe"
    monCourriel = " -compose " & "to=" & Destinataire & "," & "subject=" & Sujet & "," & "body=" & Texte & "," & "attachment=" & PieceJointe & ".pdf"
    Shell Mail & monCourriel, vbNormalFocus
    'SendKeys "^{ENTER}", True 'Envoi automatique
    SendKeys "^+{ENTER}", True 'Dossier Messages en attente

End Sub


Je rencontre quelques petits problèmes :
- Je ne parviens pas à assigner un nombre décimal dans le nom de la pièce jointe ni dans l'objet du mail.
- La touche Verr Num se désactive à chaque exécution de la macro (pas très important, mais gênant quand même)
- J'utilise plusieurs boite dans Thunderbird et ne sais pas comment définir laquelle utiliser
- J'utilise dans TB "Envoyer plus tard" (je voudrais ajouter un délais de 10 minutes)

A terme, l'idée c'est de cliquer sur un bouton dans la feuille pour que tout se fasse ensuite.

Le fichier en question : https://www.cjoint.com/c/KKtsmXXCyg4
Je souhaite que le nom du fichier et de l'objet du mail soit : 2271,39 régie
En modifiant la première ligne de code :
PieceJointe = Environ("Temp") & "\" & Range("A3") & " " & "régie"

en
PieceJointe = Environ("Temp") & "\" & Range("E20") & " " & "régie"

Ca ne fonctionne plus. Le nombre est arrondi et le fichier non crée.
J'ai pensé à un formatage de cellule, mais même pas :(

Si quelqu'un peut m'apporter ses lumières, ce serait cool ! :)

Configuration: Office 2016 / TB 91.3.2

A voir également:

2 réponses

yg_be Messages postés 23474 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 février 2025 Ambassadeur 1 568
19 nov. 2021 à 21:01
bonjour,
pour t'aider à comprendre ton code, vois ceci: https://www.commentcamarche.net/contents/1381-debogage

une fois que tu auras compris tout cela, partage avec nous la valeur de PieceJointe, ainsi que le contenu de la cellule référencée.

à tout hasard: moi, j'essaierais cstr(csng(Range("E20")))
0
Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025 55
19 nov. 2021 à 21:25
Bonsoir ! :)
Je ne comprends pas bien le débogage, mais l'exécution de la procédure pas à pas détaillée, le nom est assez explicite.
L'espion indique :
- Expression : PieceJointe
- Valeur : "C:\Users\maison\AppData\Local\Temp\2271,39 régie"
- Type : Variant/String
- Contexte : Feuil1CommandButton1_Click

La valeur est juste pourtant, je ne comprends pas.
Est-ce bien l'information demandée ? :)

cstr(csng(Range("E20")))

Ca va à quelle place ?
Ainsi :
PieceJointe = Environ("Temp") & "\" & CStr(CSng(Range("E20"))) & " " & "régie"

?

Si non, je n'ai pas compris :(
0
yg_be Messages postés 23474 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 février 2025 1 568 > Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025
19 nov. 2021 à 22:58
le nom de fichier est correct?
0
Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025 55 > yg_be Messages postés 23474 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 février 2025
19 nov. 2021 à 23:40
Oui, en tout cas pour l'espion.
0
yg_be Messages postés 23474 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 février 2025 1 568 > Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025
20 nov. 2021 à 14:27
D'où vient alors ce que tu as écrit: "Le nombre est arrondi"?
As-tu examiné les autres variables?
monCourriel
, par exemple.
0
Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025 55 > yg_be Messages postés 23474 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 février 2025
Modifié le 20 nov. 2021 à 14:43
L'espion m'indique bien le bon nombre, avec la décimal : 2771.39

Mais le mail qui s'ouvre avec le nom de la pièce jointe et l'objet m'affiche : 2771

Accessoirement, la suite n'apparaît pas non plus, à savoir "régie"
De plus, je souhaite ajouter un petit résumé des éléments et le problème est le même pour le montant des espèces, à savoir 52,60 pour l'espion mais juste 52 dans le mail

Je ne comprends pas pourquoi l'espion me donne ce que je veux, mais pas le mail :/

monCourriel indique : monCourriel : " -compose to=my-tests@outlook.com,subject=2271,39 régie,body=Bonjour%0a%0aRésumé des éléments :%0a%0aESPECES : 52,6,attachment=C:\Users\maison\AppData\Local\Temp\nombre déc
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
20 nov. 2021 à 11:45
Bonjour,

pour répondre à cette question:

- La touche Verr Num se désactive à chaque exécution de la macro (pas très important, mais gênant quand même)

cela provient de cette ligne:

 SendKeys "^+{ENTER}", True 'Dossier Messages en attente


0
Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025 55
20 nov. 2021 à 14:10
Merci pour ton retour ! ^^
C'est étrange tout de même, puisque le SendKeys doit envoyer "Ctrl + Maj + Entrer" et que cette suite ne désactive pas le padnum.
Lorsque le message s'ouvre suite à la macro, et que je tape "Ctrl + Maj + Entrer", ça ouvre bien "Envoyer plus tard" :/
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 > Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025
20 nov. 2021 à 14:32
Essaie ceci:

Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "^+{ENTER}", True 'Dossier Messages en attente


@+
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 > cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024
20 nov. 2021 à 16:06
et pour cette autre question:

J'utilise dans TB "Envoyer plus tard" (je voudrais ajouter un délais de 10 minutes)

Dim WshShell As Object
 Set WshShell = CreateObject("WScript.Shell")
 Application.Wait (Now + TimeValue("0:10:00")) '10 mn
 WshShell.SendKeys "^+{ENTER}", True 'Dossier Messages en attente


@+ Le Pivert
0
Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025 55 > cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024
20 nov. 2021 à 23:04
Ca fait patienter Excel, ça ne met pas le message en attente ;)
Je voudrais utiliser ceci :
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 > Nai Messages postés 714 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 24 janvier 2025
21 nov. 2021 à 09:32
C'est spécifique à Thunderbird

Ce site t'aidera peut-être!

https://www.devhut.net/vba-send-e-mail-using-mozilla-thunderbird/

@+
0