Problème envoie e-mail avec Outlook via VBA

Bonjour à tous,

Je reviens vers vous car j’ai un petit problème sur le fichier sur lequel j’ai travaillé pendant plusieurs mois et qui était fini grâce à ce forum.

Quand je clique sur le bouton envoi email de mon fichier Excel, Outlook s’ouvre normalement et mon mail est réalisé via cette fameuse VBA. Quand j’envoie mon email via Outlook, si Outlook est déjà ouvert le mail part normalement. Mais si Outlook est fermé le mail est stocké en attente dans la boîte d’envoi d’Outlook. Il faut que j’ouvre Outlook pour que le mail parte automatiquement. Cela n’est pas la fin du monde mais c’est vrai que je trouve cela dommage. Est-ce que quelqu’un peut me donner un coup de pouce et sur internet je ne trouve pas de solution
Classeur2.xlsm (42,9 Ko)

Merci par avance

Automatiquement ? Il demande s’il peut envoyer, non ?
Vous voulez simuler un « send » avec « Sendkeys », cela n’est pas complètement « waterproof », mais c’est possible.

1 « J'aime »

Bonjour Cow18,
Vous êtes toujours là pour moi je vous remercie.
Je suis un peu dégoûté, j’ai complètement fini mon fichier Excel exactement comme je voulais et maintenant j’ai ce problème
J’avais trouvé ce script pour envoyer directement un mail avec Excel sur Internet, après j’ai rentré mes données.
Pouvez-vous me dire SVP ce qu’il faut que je change exactement, si je veux que mon mail part automatiquement une fois que j’ai cliqué sur “Envoyer” de la page Outlook

je n’ai pas testé la macro, il me manque ce fichier de choix et il y a quelque chose avec le body. Sorry.
Classeur2 (6).xlsm (34,9 Ko)

1 « J'aime »

Merci pour votre réponse


Cela me met erreur alors comme j’ai un système d’exploitation 64 bits, j’ai remplacer « user32 » par « user64 » mais cela me mais la même erreur il faut ajouter un attribut.

re, si je google, on me dit d’ajouter cet « Alias … »

Declare PtrSafe Function GetKeyState Lib "user32" Alias "#1866" (ByVal nVirtKey As Long) As Integer
'old = Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

si cela ne fonctionne pas, supprimer cette ligne dans la macro (remarque, votre NumLock sera désactivé après ce « Sendkeys », ce qui est un petit désadvantage.)
Activer_NumLock 'Sendkeys désactive le NumLock, donc réactive-le
`
et même si cela ne fonctionne pas, donnez-moi un fichier comme celui que vous devez sélectionner, comme ça, je peux tester tout.

1 « J'aime »

Cela ne fonctionne pas
Ci-joint fichier
OM Outlook.xlsm (46,5 Ko)

re,
c’était pour tester l’ensemble, mais alors, j’ai ajouté une macro « Petit_Teste » qui n’envoie que le mail et qui fonctionne sur ma système 64bit.
Classeur2 (6).xlsm (39,5 Ko)

image

1 « J'aime »

Cela me met une erreur de compilation !
Erreur de syntaxe
Dans la 2ème capture d’écran, vous pouvez voir qu’il y a eu des sauts de ligne et la dernière ligne a été copié deux fois


Après j’ai éteint sans sauvegarder j’ai re-ouvert le fichier que vous m’avez envoyé sans appuyer sur le bouton “Envoyer email” je suis allé directement dans la page de la macro « Ordre de mission » et celle-ci avait déjà l’erreur des sauts de ligne avec décalage complètement à droite de plusieurs lignes et la dernière ligne qui était multiplié par deux.
ci-joint le dossier que j’ai reçu pour que vous puissiez vous rendre compte.
Est-ce que ça peut venir de mon ordinateur les causes de tout cela?
Je vais tester le fichier que vous m’avez envoyé sur un autre ordi

Classeur2 (6).xlsm (39,5 Ko)

Bonjour
Même avec un autre ordi, il y a le même problème

ce truc bizarre avec le body, je pense que cela est causé par un app dans VBA qui aligne bien(???, pas ici) le code. Donc, je l’ai arrêté.
Maintenant il envoye votre mail après que vous avez apprové l’accès pendant 1 (ou plus) minutes.
Classeur2 (6) (1).xlsm (51,9 Ko)

1 « J'aime »

Je n’avais rien à faire de plus de spécifique sur le fichier que vous m’avez envoyé donc une fois ouvert j’ai cliqué sur le bouton “Envoyer email”
Il n’y avait plus d’erreur au niveau du macro par contre Outlook garde toujours l’email dans sa boîte d’envoi quand il n’est pas ouvert. Et si Outlook est ouvert l’email est envoyé automatiquement.
Retour au point de départ j’en suis désolé

je ne coonais pas Outlook aussi bien, j’utilise Thunderbird, mais je vois que Outlook est toujours « offline » quand je l’ouvre. JE ne sais pas vous aider, sauf avec ce lien.

1 « J'aime »

Je viens d’installer sur l’ordinateur de mon travail Office 365, hélas rien n’a changé; Mais c’est pas la fin du monde je vais faire avec.
Je tenais à vous remercier encore du travail et de l’aide que vous m’avez apporté.
Je vais regarder le lien que vous m’avez envoyé.
Merci encore et bonne journée à vous :+1:

1 « J'aime »

Pourquoi ne pas déclencher l’ouverture d’Outlook au début et fermer la fenêtre après l’envoie du mail ?
Quelque chose du genre :

Application.Dialogs(xlDialogSendMail).Show

Merci de votre réponse mais hélas avec votre code cela ouvre une 2ème fenêtre d’Outlook en plus avec un PJ le fichier Excel.

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.