Sub Essai()
Dim a, b(), txt As String, i As Long, n As Long, x, y, e
Application.ScreenUpdating = False
a = Sheets("Feuil1").Range("B2").CurrentRegion.Value
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For i = 2 To UBound(a, 1)
txt = a(i, 1)
'txt = Join$(Array(a(i, 1), a(i, 2), a(i, 3)))
.Item(txt) = Array(a(i, 1), a(i, 2), a(i, 3))
Next
a = Sheets("Feuil2").Range("B2").CurrentRegion.Value
ReDim b(1 To UBound(a, 1), 1 To 3)
For i = 2 To UBound(a, 1)
txt = a(i, 1)
'txt = Join$(Array(a(i, 1), a(i, 2), a(i, 3)))
If .exists(txt) Then
.Item(txt) = Empty
Else
n = n + 1
b(n, 1) = a(i, 1)
b(n, 2) = a(i, 2)
b(n, 3) = a(i, 3)
.Item(txt) = Empty
End If
Next
For Each e In .keys
If IsEmpty(.Item(e)) Then .Remove e
Next
'x = .Count: y = .items
End With
If n > 0 Then
With Sheets("Feuil3").Cells(1)
.CurrentRegion.Clear
.Resize(, 3).Value = [{"Pays","Date","Nuitée"}]
.Offset(1).Resize(n, 3).Value = b
With .CurrentRegion
With .Rows(1)
.Interior.ColorIndex = 44
.BorderAround Weight:=xlThin
End With
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.Borders(xlInsideVertical).Weight = xlThin
.BorderAround Weight:=xlThin
End With
.Parent.Select
End With
Else
MsgBox "Aucune donnée trouvée"
End If
Application.ScreenUpdating = True
End Sub