1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| 'penser à activer la référence 'Microsoft Scripting Runtime
Sub colF()
Dim Dercel As Range, d
Dim tbl1, tbl2, tbl3, x As Integer
Set tbl3 = CreateObject("Scripting.dictionary")
Set Dercel = Range("B" & Rows.Count).End(xlUp)
tbl1 = Range("A3", Dercel)
Set Dercel = Range("E" & Rows.Count).End(xlUp)
tbl2 = Range("D3", Dercel)
For x = 1 To UBound(tbl1, 1)
With tbl3
If Not .Exists(tbl1(x, 1) & "|" & tbl1(x, 2)) Then
.Add tbl1(x, 1) & "|" & tbl1(x, 2), tbl1(x, 1) & "|" & tbl1(x, 2)
End If
End With
Next x
For x = 1 To UBound(tbl2, 1)
With tbl3
If Not .Exists(tbl2(x, 1) & "|" & tbl2(x, 2)) Then
.Add tbl2(x, 1) & "|" & tbl2(x, 2), tbl2(x, 1) & "|" & tbl2(x, 2)
End If
End With
Next x
x = 3
Set Dercel = Range("H" & Rows.Count).End(xlUp)(2, 1)
Range("G3", Dercel).ClearContents
For Each d In tbl3.items
Range("G" & x) = Split(d, "|")(0)
Range("H" & x) = CDate(Split(d, "|")(1))
x = x + 1
Next d
End Sub |
Partager