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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| Sub testtt()
Dim f1 As Worksheet
Dim f2 As Worksheet
Set f1 = Sheets("Feuil1")
Set f2 = Sheets("Feuil2")
Set dS = CreateObject("scripting.dictionary")
dS.CompareMode = vbTextCompare
derlig1 = f1.Range("A" & Rows.Count).End(xlUp).Row
derlig2 = f1.Range("C" & Rows.Count).End(xlUp).Row
If derlig1 > derlig2 Then
derlig = derlig1
Else
derlig = derlig2
End If
TblBD = f1.Range("A2:D" & derlig)
For i = 1 To UBound(TblBD)
clé = TblBD(i, 1)
dS(clé) = dS(clé) + TblBD(i, 2)
Next i
Set dR = CreateObject("scripting.dictionary")
dR.CompareMode = vbTextCompare
For i = 1 To UBound(TblBD)
clé = TblBD(i, 3)
dR(clé) = dR(clé) + TblBD(i, 4)
Next i
lig = 2
f2.Cells.ClearContents
f2.Cells(1, 1) = "Code Camion"
f2.Cells(1, 2) = "Quantité sortie"
f2.Cells(1, 3) = "Quantité retournée"
f2.Cells(1, 4) = "Ecart"
For Each c In dS
X = dS.Item(c) - dR.Item(c)
If X <> 0 Then
f2.Cells(lig, 1) = c
f2.Cells(lig, 2) = dS.Item(c)
f2.Cells(lig, 3) = dR.Item(c)
f2.Cells(lig, 4) = X
If f2.Cells(lig, 1) <> "" Then lig = lig + 1
End If
Next c
End Sub |
Partager