J'espère que c'est la bonne ...
J'ai ajouté ceci :
IIf(.Cells(i, "G") = "", .Cells(i, "F"), .Cells(i, "G"))
Function textemail(k As Integer)
Dim i%, j%, txt$
textemail = ""
With Sheets("Base etats liquidatifs")
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
txt = ""
If .Cells(i, "C") = Cells(k, "C") And .Cells(i, "D") = Cells(k, "D") Then
For j = 8 To .Cells(1, Columns.Count).End(xlToLeft).Column
If .Cells(i, j) = "" And DateSerial(Year(.Cells(1, j)), Month(.Cells(1, j)) + 1, 1) < Date Then
If .Cells(i, "E") < DateSerial(Year(.Cells(1, j)), Month(.Cells(1, j)) + 1, 1) _
And IIf(.Cells(i, "G") = "", .Cells(i, "F"), .Cells(i, "G")) >= DateSerial(Year(.Cells(1, j)), Month(.Cells(1, j)), 1) Then
txt = txt & Format(.Cells(1, j), "mmm yyyy") & ", "
End If
End If
Next j
End If
If txt <> "" Then textemail = textemail & "- " & .Cells(i, "A") & " " & .Cells(i, "B") & " : " & Mid(txt, 1, Len(txt) - 2) & "." & vbCrLf
Next
End With
End Function