Erreur de syntaxe SendKeys

  • Initiateur de la discussion Initiateur de la discussion frkm
  • Date de début Date de début

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 !

F

frkm

Guest
Tuto : Envoi d'un mail + pièce jointe depuis Excel en passant par Outlook Express

Bonjour,

Je travail actuellement sur une macro qui doit envoyer un mail avec pièce jointe.

J'ai trouvé cette méthode :

Code:
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg & "" SendKeys "%I" & "p" & TheFile & "~" & "%s"

ActiveWorkbook.FollowHyperlink Address:=URLto

J'ai un message d'erreur qui me signale un problème de syntaxe.

Je ne comprend pas trop pourquoi.

A noter que le code ci-dessus fonctionne sans problème sans la partie pièce jointe :

Code:
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg

ActiveWorkbook.FollowHyperlink Address:=URLto

Ce serait donc la partie suivante qui pose problème :

Code:
& "" SendKeys "%I" & "p" & TheFile & "~" & "%s"

Ma source : Excel et le WEB

J'attend vos conseils.
Merci.
 
Dernière modification par un modérateur:
Re : Erreur de syntaxe SendKeys

Le problème de syntaxe est réglé.
Il fallait juste passer à la ligne à partir de SendKeys.

Mais le problème est que maintenant ma pièce jointe ne l'est pas justement.

Voila...

Des idées ?
 
Re : Erreur de syntaxe SendKeys

Bonjour,

Avec l'éxécution de l'instruction Sendkeys, il faut parfois que l'instruction soit remontée d'une ligne pour ne pas zapper une partie du code ...

A tester dans ta configuration personnelle ...

A +
 
Re : Erreur de syntaxe SendKeys

Je commence à comprendre ce qui se passe.

En fait, le SendKeys ne se produit pas dans outlook comme je l'aimerai mais dans excel (on voit le menu dessin se dérouler succinctement).

Comment faire ?
 
Envoyer un mail depuis Excel vers Outlook Express avec pièce jointe

Ca y est j'ai réglé mon problème.

Alors je laisse mon code pour ceux que ça intéresse.

Bonne continuation à tous !

Code:
Sub EnvoiMail()

Dim objMessage As CDO.Message

Dim Msg, MailAd, Subj As String

MailAd = "adresse@mail.net"
Subj = "Le sujet du message"
Msg = "Le corps du message"

Set objMessage = CreateObject("CDO.Message")
    

' création de la pièce jointe (en .txt)
Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile("C:\monfichier.txt")
With MonFic
        .writeLine "écriture 1ere ligne"
        .writeLine "écriture 2eme ligne"
        .writeLine "etc."
End With
MonFic.Close

' envoi du message via Outlook Express
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg & ""

' ouvre Outlook Express
ActiveWorkbook.FollowHyperlink Address:=URLto

' fait patienter la macro pour ne pas faire les SendKeys dans Excel mais dans Outlook Express
Application.Wait (Now + TimeValue("0:00:01"))

' permet de taper virtuellement les touches pour insérer la pièce jointe
Application.SendKeys "%I" & "p", True
Application.SendKeys "C:\monfichier.txt", True
Application.SendKeys "~" & "%s", True
    
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Macro VBA
Réponses
2
Affichages
638
S
Réponses
6
Affichages
2 K
soNZOOO
S
S
Réponses
10
Affichages
4 K
Sylvain29
S
J
Réponses
2
Affichages
1 K
jff74650
J
Réponses
19
Affichages
2 K
O
Réponses
12
Affichages
6 K
olivier974s
O
Réponses
3
Affichages
1 K
M
Réponses
0
Affichages
1 K
M
Z
Réponses
2
Affichages
1 K
Z
M
  • Question Question
Réponses
2
Affichages
829
A
Réponses
0
Affichages
911
Arctica
A
Retour