Exact !
Il faut tester les valeurs dans la boucle FOR NEXT.
L'idée serait de faire 2 passages successifs afin de traiter en premier les sommes qui s'annulent + et - du même montant.
Lors du second passage on peut alors traiter les lignes A REVOIR.
Pour éviter que les lignes déjà traitées lors du premier passage, il faut tester (à mon sens) que la ligne concernée de la colonne M est vide (Fonction ISEMPTY)
Je te propose donc ceci: (Peut-être que d'autres contributeurs trouveront le moyen d'éviter deux passages, je n'ai pas trop le temps de chercher, désolé).
Sub TEST()
With Sheets("Feuil2") 'ATTENTION: NOM DE L'ONGLET MODIFIÉ
Derligne = .Range("A" & Rows.Count).End(xlUp).Row
For j = 3 To Derligne
For jj = j + 1 To Derligne
'Annulation technique (SIGNE MOINS sur -.cells(jj,11).Value)
If IsEmpty(.Cells(j, 13)) And IsEmpty(.Cells(jj, 13)) And .Cells(j, 10).Value = .Cells(jj, 10).Value And .Cells(j, 11).Value = -.Cells(jj, 11).Value Then
.Cells(j, 13).Value = "ANNULATION TECHNIQUE"
.Cells(jj, 13).Value = "ANNULATION TECHNIQUE"
End If
Next jj
Next j
'2ème passage pour A REVOIR
For j = 3 To Derligne
For jj = j + 1 To Derligne
'A REVOIR
If IsEmpty(.Cells(j, 13)) And IsEmpty(.Cells(jj, 13)) And .Cells(j, 10).Value = .Cells(jj, 10).Value And .Cells(j, 11).Value = .Cells(jj, 11).Value Then
.Cells(j, 13).Value = "ATTENTION A REVOIR"
.Cells(jj, 13).Value = "ATTENTION A REVOIR"
End If
Next jj
Next j
End With
End Sub