Les solutions :
- appeler les données dans un tableau (colonne 2 = marque, colonne 3 = modèle, colonne 4 = type)
Dim data
Windows("Lista Applicazioni RAPID modifié _ test.xls").Activate
' importation des données
data = Sheets(1).Range("B2").CurrentRegion
- travailler en dictionnaire des marques et modèles
Dim marques As Object, modeles As Object
Set marques = CreateObject("Scripting.Dictionary")
Set modeles = CreateObject("Scripting.Dictionary")
' dictionnaire des marques
For i = 2 To UBound(data)
If data(i, 2) <> "" Then marques(data(i, 2)) = ""
Next
' pour chaque marque
For Each lamarque In marques
' dictionnaire des modèles avec les types
For i = 2 To UBound(data)
If data(i, 2) = lamarque Then modeles(data(i, 3)) = modeles(data(i, 3)) & "|" & data(i, 4)
Next
' vidage du dictionnaire des modèles pour la prochaine marque
modeles.RemoveAll
Next
- supprimer toutes les formules si pas nécessaires et compter via la macro
- reporter en bloc les données
tableau = Split(modeles(lemodele), "|")
Cells(3, colonne).Resize(UBound(tableau) + 1, 1) = Application.Transpose(tableau) ' les types
N'oublie pas de clore ce fil de discussion en cliquant sur