Sub ComparerLignes()
Dim deb1 As Range, deb2 As Range, deb3 As Range, ncol%, derlig&, t, d As Object, i&, x$, j%
'---définitions à adapter---
Set deb1 = Sheets("GLOBALE").[A1] '1ère cellule du 1er tableau
Set deb2 = Sheets("Prioritaire").[A1] '1ère cellule du 2ème tableau
Set deb3 = Sheets("Refus").[A1] '1ère cellule du 3ème tableau
ncol = 10 'nombre de colonnes de chacun des tableaux
'---étude des lignes du 1er tableau---
If deb1 = "" Then deb1 = " " 'au moins une cellule non vide
derlig = deb1.Resize(Rows.Count - deb1.Row + 1, ncol).Find("*", , xlValues, , xlByRows, xlPrevious).Row
t = deb1.Resize(derlig - deb1.Row + 1, ncol) 'matrice, plus rapide
Set d = CreateObject("Scripting.Dictionary")
d.CompareMode = vbTextCompare 'la casse est ignorée
For i = 1 To UBound(t)
x = ""
For j = 1 To ncol
x = x & Chr(1) & t(i, j)
Next
d(x) = ""
Next
'---étude des lignes du 2ème tableau---
deb2(1, ncol + 1).EntireColumn = "" 'RAZ
If deb2 = "" Then deb2 = " " 'au moins une cellule non vide
derlig = deb2.Resize(Rows.Count - deb2.Row + 1, ncol).Find("*", , xlValues, , xlByRows, xlPrevious).Row
t = deb2.Resize(derlig - deb2.Row + 1, ncol) 'matrice, plus rapide
For i = 1 To UBound(t)
x = ""
For j = 1 To ncol
x = x & Chr(1) & t(i, j)
Next
If Not d.exists(x) Then deb2(i, ncol + 1) = "Pas dans GLOBALE"
Next
'---étude des lignes du 3ème tableau---
deb3(1, ncol + 1).EntireColumn = "" 'RAZ
If deb3 = "" Then deb3 = " " 'au moins une cellule non vide
derlig = deb3.Resize(Rows.Count - deb3.Row + 1, ncol).Find("*", , xlValues, , xlByRows, xlPrevious).Row
t = deb3.Resize(derlig - deb3.Row + 1, ncol) 'matrice, plus rapide
For i = 1 To UBound(t)
x = ""
For j = 1 To ncol
x = x & Chr(1) & t(i, j)
Next
If Not d.exists(x) Then deb3(i, ncol + 1) = "Pas dans GLOBALE"
Next
End Sub