Bonsoir MARHOU,
Salut dhany
Pour le fun, on peut associer un arraylist aux différentes clés d'un dictionnaire
En bouclant sur toutes les feuilles et toutes les colonnes, on constituera un tableau de références (arraylist) pour chacun de tes indices (les clés du dictionnaire)
Puis on restituera les différents tableaux de références via la méthode exists du dictionnaire
Pour l'exemple, ici je n'ai traité qu'une colonne.
Option Explicit
Sub test()
Dim a, i As Long, dico As Object
Set dico = CreateObject("Scripting.Dictionary")
dico.CompareMode = 1
a = Sheets(1).Range("a1").CurrentRegion.Value
For i = 2 To UBound(a, 1)
If Not dico.exists("R" & a(i, 1)) Then
Set dico("R" & a(i, 1)) = CreateObject("System.Collections.ArrayList")
End If
dico("R" & a(i, 1)).Add a(i, 2)
Next
'ici on restitue R6
Sheets(4).Cells(1).Resize(dico("R6").Count) = Application.Transpose(dico("R6").toarray)
Set dico = Nothing
End Sub
Edit : visiblement il faut traiter les feuilles une par une, soit une restitution distincte pour chaque feuille.
Il faut aussi utiliser la méthode Removeall du dictionnaire
klin89