XL 2016 Compléter cellule une fois la macro réalisée

Nikoko

XLDnaute Nouveau
Bonjour à tous,

J'utilise le code ci-dessous pour envoyer un mail via excel en fonction des critères d'une ligne.
Je souhaiterai une fois la macro réalisée afficher un message "envoyé" dans la colonne H.

Avez-vous une idée?


VB:
'************Envoyer les mails via outlook
Private Sub CommandButton1_Click()

Dim LeMail As Variant
Dim ligne As Integer

Set LeMail = CreateObject("Outlook.Application") 'création d'un objet outlouk

For ligne = 6 To 9

    If Range("e" & ligne) = "Annuler" And Range("F" & ligne) = "4j" Then 'critère des cellules pour envoyer le mail
  
        With LeMail.CreateItem(olMailItem) ' informe le programme que nous voulons envoyer un mail.
            .Subject = Range("A" & ligne) & Range("D11") 'le sujet + le nom
            .To = Range("D" & ligne) 'placer l'adresse mail de la ligne
            .CC = "marielle@xxxxx.fr" 'placer l'adresse mail en copie
            .Body = Range("D13") & Range("A" & ligne) & Range("F11") & Range("b" & ligne) & Range("D15") 'placer message dans le mail
            .Attachments.Add "C:\Users\xxxxxxx\Desktop\signature.JPG" 'joindre l'image de la signature
            .HTMLBody = .HTMLBody & "<br><img src='cid:signature.JPG' width='700' height='350'><br>" 'Placer l'image de la signature
            .Display 'afficher le mail avant de l'envoyer sinon placer send pour envoyer
          End With
    End If
Next ligne

End Sub
Merci par avance,
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
Bonjour Niloko, le forum

Voila qui devrait fonctionner :
Code:
'************Envoyer les mails via outlook
Private Sub CommandButton1_Click()

Dim LeMail As Variant
Dim ligne As Integer

Set LeMail = CreateObject("Outlook.Application") 'création d'un objet outlouk

For ligne = 6 To 9

    If Range("e" & ligne) = "Annuler" And Range("F" & ligne) = "4j" Then 'critère des cellules pour envoyer le mail
  
        With LeMail.CreateItem(olMailItem) ' informe le programme que nous voulons envoyer un mail.
            .Subject = Range("A" & ligne) & Range("D11") 'le sujet + le nom
            .To = Range("D" & ligne) 'placer l'adresse mail de la ligne
            .CC = "marielle@grdf.fr" 'placer l'adresse mail en copie
            .Body = Range("D13") & Range("A" & ligne) & Range("F11") & Range("b" & ligne) & Range("D15") 'placer message dans le mail
            .Attachments.Add "C:\Users\xxxxxxx\Desktop\signature.JPG" 'joindre l'image de la signature
            .HTMLBody = .HTMLBody & "<br><img src='cid:signature.JPG' width='700' height='350'><br>" 'Placer l'image de la signature
            .Display 'afficher le mail avant de l'envoyer sinon placer send pour envoyer
          End With
    
      Range("H" & ligne)).Value ="Envoyé"

End If
Next ligne
End Sub
@Phil69970
 

Nikoko

XLDnaute Nouveau
En te répondant, je viens de voir que c'était juste une faute de frappe dans ton code. Il y avait simplement une parenthèse en double :
VB:
Range("H" & ligne)[B][COLOR=rgb(209, 72, 65)])[/COLOR][/B].Value ="Envoyé"

Il me semble que ça vient de là mais je ne suis pas expert. Quoi qu'il en soit je te remercie aussi pour ta réponse.
 

Discussions similaires

Réponses
3
Affichages
435

Membres actuellement en ligne

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 762
dernier inscrit
Ucef