Bonjour
Merci Pedro22, la macro mets beaucoup moins de temps
Sub test()
Application.ScreenUpdating = False 'Désactive l'affichage
Application.Calculation = xlCalculationManual 'Désactive le recalcul auto des formules à chaque
rw = Cells(Rows.Count, "A").End(xlUp).Row
Range("A1:A" & rw).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("F1"), Unique:=True
For i = 2 To Cells(Rows.Count, "F").End(xlUp).Row
Cells(i, "G") = Application.CountIf(Range("A:A"), Cells(i, "F"))
Cells(i, "H") = Application.Index(Range("B:B"), Application.Match(Cells(i, "F"), Range("A:A"), 0))
dev = Array("USD", "EUR", "NOK", "GBP", "CHF", "JPY", "CNH", "SEK", "AUD", "CAD", "HKD")
For j = 0 To 10
t = "=SUMPRODUCT((A2:A" & rw & "=F" & i & ")*(D2:D" & rw & "=""" & dev(j) & """)*(C2:C" & rw & "))"
Cells(i, j + 9) = Evaluate(t)
Next j
Application.Calculation = xlCalculationAutomatic
Next i
Application.Calculation = xlCalculationAutomatic
End Sub
Jean-Eric, merci pour la solution que tu m'as apporté, je vais faire des recherches afin de comprendre à quoi correspond le PowerQuery et essayer ta solution.
Merci pour vos retours rapides
Bonne journée.