XL 2013 Problème code mail sans pièce jointe vba excel 2013

grandcycy

XLDnaute Nouveau
bonjour,

Je viens vers vous car je n'arrive pas à faire fonctionner mon code envoi de mail sans pièce jointe.

Code:
Sub sendmails()

Dim ol As Outlook.Application
Dim olmail As Outlook.MailItem
Dim sig As String



Set ol = New Outlook.Application

For i = 9 To Feuil1.Cells(Rows.Count, 1).End(xlUp).Row

Set olmail = ol.CreateItem(olMailItem)


With olmail
    .To = Feuil1.Cells(i, 1).Value
    .Subject = "Proposition de prix" & " - " & "Devis" & " - " & Feuil1.Cells(i, 2).Value & " - " & Feuil1.Cells(i, 3).Value & " " & Feuil1.Cells(i, 4).Value & " - " & Feuil1.Cells(i, 5).Value & " " & Feuil1.Cells(i, 6).Value & " en date du  " & Feuil1.Cells(i, 7).Value
    .Display
    .HTMLBody = "<font face="" verdana "" size= 3 >" & Feuil1.Cells(i, 8).Value & "<br>" & "<br>" & " Vous nous avez sollicités pour la réalisation d'un devis et nous vous avons fait parvenir une proposition de prix en date du " & Feuil1.Cells(i, 7).Value & "." & "<br>" & "<br>" & "Nous sommes à ce jour restés sans réponse de votre part et nous souhaiterions savoir si cette proposition vous agrée." & "<br>" & "<br>" & " Sachez que nous nous tenons à votre disposition pour tout renseignement complémentaire." & "<br>" & "<br>" & "En espérant pouvoir satisfaire votre attente," & .HTMLBody
    .Display
    End With
    
Next

End Sub

Si j’enlève le display avant le HTLM je n’ai plus la signature avec le logo et ce que je souhaite faire des envois de mail relance à une liste de personne.

Premier test :
Si je mets deux fois display je vois le mail qui s’affiche, il est complet donc je clique sur envoyer mais je ne reçois pas le mail,

Deuxième test :
si je mets display et Send, il s’affiche et normalement s’envoie automatiquement mais je ne reçois pas le mail

Troisième test : si je mets 2 fois Send
il m’envoie le 3ième test qui beug, pas de texte pas de signature et pas de logo et il m’affiche un débogage sur la ligne HTLM dans le code vba mais envoi quand même le mail. je reçois avec ce 3ième test les mails des tests précédents.

Est-ce que quelqu'un pourrait me dire ce qui ne va pas dans mon code, cela fait un petit moment que je cherche une solution mais je ne trouve pas.

Vous remerciant de votre aide,

Cordialement
 

Pièces jointes

  • test mail VBA.xlsm
    21.1 KB · Affichages: 7

grandcycy

XLDnaute Nouveau
bonjour,

Je suis vraiment embêtée avec ce code qui fonctionne bien à l'affichage quand je mets display et cela correspond à ce que je recherche par contre il ne s'envoie pas. J'ai vraiment besoin qu'il fonctionne pour gagner du temps dans mes taches a réalisées pour mon travail. Y-t- il quelqu'un qui pourrez me dire pourquoi il ne s'envoie pas.

Je remercie par avance toutes les personnes qui pourront me venir en aide.
Bien Cordialement,
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Je ne saurais répondre pourquoi il ne s'envoie pas. Ce que je vois c'est qu'il y a sans doute un problème dans l'écriture de .htmlBody
Vous avez mis .HTMLBody = ".... " & .HTMLBody
Htmlbody est concaténer à lui-même.

Il y a également des concaténations inutiles: "Proposition de prix" & " - " & "Devis" & " - " & Feuil1.Cells(i, 2).Value
Peut s'écrire : "Proposition de prix - Devis - " & Feuil1.Cells(i, 2).Value

& "<br>" & "<br>" peut s'écrire & "<br><br>"

Dans "<font face="" verdana "" size= 3 >" supprimer les espaces entre verdana et les guillemets.

bonne continuation
 

Laurent78

XLDnaute Occasionnel
Bonsoir,
ci-après un bout de code qui fonctionne, à tester
VB:
Sub TestEnvoiMail()
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Dim nsp As Object

        With OutMail
            .To = "toto@toto.com" ' mettre une vraie adresse mail
            .CC = ""
            .BCC = ""
            .Subject = "Le sujet"
            .Body = "Coucou"
            .Send   'ou .Display
        End With
        
    Set nsp = OutApp.GetNamespace("MAPI") ' <---- à ajouter dans ton code
    nsp.SendAndReceive (False) ' <---- à ajouter dans ton code

    Set OutMail = Nothing
    Set OutApp = Nothing
    Set nsp = Nothing
End Sub

dites nous si c'est ok.
Bonne soirée
 

grandcycy

XLDnaute Nouveau
bonjour Laurent 78,

Désolée pour cette réponse tardive le bout de code fonctionne, je cherche à y intégrer la signature et le logo comme je l'ai fait dans mon code mais je n'y arrive pas. je suis toujours en recherche de solution.

Vous remerciant d'avoir pris le temps de me répondre.

Bien cordialement,
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Et bien remettre le & HTLMbody.
Je ne savais pas que ce & HTMLbody était indispensable à l'insertion de la signature par défaut.
Encore une fois vive Microsoft & son intuitivité.

Cordialement
 

Discussions similaires

Réponses
6
Affichages
268
Réponses
17
Affichages
1 K

Statistiques des forums

Discussions
311 711
Messages
2 081 799
Membres
101 818
dernier inscrit
tiftouf5757