Condition ne fonctionne pas pour envi de mail boucle nonplus

Bonjour à tous ceux qui tomberont sur ce topic merci par avance de vos conseils et idées.

Je débute en VBA

Je vous présente mon problème

J'ai une colonne D contenant 3 valeurs texte possibles : "Reussi" "RAS" et "Baisse"

Je demande à excel d'envoyer un mail pour chaque ligne de la colonne D contenant le mot "reussi"

Le mail s'envoie bien mais il s'envoie uniquement pour la cellule "D6" (la première du range)

j'ai pourtant specifié que si une ligne était différent de "RAS" et "BAisser" il devait l'envoyer et ce pour chaque ligne.

Auriez vous une idée ?

Ci-joint mon fichier (macro retirée mais code ci dessous)

Sub CheckList()
Dim LastRow As Integer
Dim nomcolonneA As String
Dim priseperte As String
Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

LastRow = ActiveSheet.Range("d6 :D23").End(xlUp).Row
For i = 1 To LastRow
   If Cells(i, "D").Value <> "RAS" And Cells(i, "D").Value <> "baisser" Then
   nomcolonneA = Cells(i, "A").Value
   priseperte = Cells(i, "C").Value
 End If
Next i        
        '=====
        'This block of code written by Ron de Bruin, copied from
        'http://msdn.microsoft.com/en-us/library/ff458119(office.11).aspx#odc_office_UseExcelObjectModeltoSendMail_Introduction

        On Error Resume Next
       ' Change the body and subject in the macro before you run it.
        With OutMail
            .To = "toto@hotmail.fr"
            .CC = ""
            .BCC = ""
            .Subject = "reussi le" & Range("Comparaison!C4").Value
            .Body = "reussi de" & Cells(i, "C").Value
            '.Attachments.Add ActiveWorkbook.FullName
            '.Attachments.Add ("C:\test.txt")
             .Save
        End With
        On Error GoTo 0

        '=======

Set OutMail = Nothing
Set OutApp = Nothing
End Sub

Bonsoir,

Un essai. A mettre dans la feuille concernée.

Option Explicit

Sub CheckList()
Dim OutApp, OutMail As Object, i%
Set OutApp = CreateObject("Outlook.Application")
  For i = 6 To Me.Range("D" & Me.Rows.Count).End(xlUp).Row - 1
    If Me.Range("D" & i) = "reussi" Then
      Set OutMail = OutApp.CreateItem(0)
      With OutMail
        .To = OutApp.Session.Accounts.Item(1)
        .Subject = "réussi le " & Me.Range("C4")
        .Body = "réussi de " & Format(Me.Range("C" & i), "#,##%")
        .Send
      End With
    End If
  Next i
Set OutMail = Nothing: Set OutApp = Nothing
End Sub

Attention le mail part directement; éventuellement changer l'adresse mail.

Cdt,

Darzou

Bonjour un grand merci pour ta réponse j'ai inséré le code a la place du mien, j'ai l'erreur utilisation incorrecte du mot clé me

le deboggeur indique le second "Me" dans la ligne suivante

 For i = 6 To Me.Range("D" & Me.Rows.Count).End(xlUp).Row - 1

Je cherche sur les forums à propos de cette erreur si cela te parles n'hésites pas

Edit je suis un Bollos j'ai remplacé me par activesheet et le code fonctionne je vais continuer de bosser dessus ci ca coince je vous le ferais savoir !

Il faut mettre le code dans la feuille et non dans un module.

Cdt,

Darzou

Rechercher des sujets similaires à "condition fonctionne pas envi mail boucle nonplus"