Bonjour,
une idée simple, selectionner la ligne voulue, la macro ne prenant que la ligne de la cellule active:
les changements en gras:
Sub Relance_Mails_unseulposte()
Set olApp = CreateObject("Outlook.Application")
i = 4
if msgbox("Voulez vous faire la relance pour tous les postes ?", vbyesno) = vbyes then bol_tousposte = true
While Cells(i, 1) <> ""
If ActiveCell.Row = i or bol_tousposte = true Then
Set olMail = olApp.CreateItem(olMailItem)
With olMail
.To = Cells(i, 7).Value
.Subject = "Relance FRP - RMA " & Cells(i, 1)
.Body = "Bonjour " & Cells(i, 6) & ", nous sommes en attente du détecteur " & Cells(i, 2) & " depuis le " & Cells(i, 5) & vbCrLf & "Merci de relancer le client " & Cells(i, 3) & vbCrLf & "Bonne réception et a bientôt"
.Display '.Send pour envoyer
End With
Cells(i, 8) = Now()
Set olMail = Nothing
End If
i = i + 1
Wend
Set olApp = Nothing
Exit Sub
terreur:
MsgBox "annexe " & att & " non trouvée"
Resume Next
End Sub