1 pièce(s) jointe(s)
VBA excel Occurence sur plusieurs colonnes
Bonjour à tous,
je viens vers vous afin de trouver une solution à un probléme plutôt complexe:
Ci-joint un fichier de 100 lignes (pour l'exemple mais doit être applicable à un nombre infinis de lignes) représentant des lieux de fabrication (colonne B) , des types de véhicule (colonne C) ainsi que leur numero de série (colonne D) en plus de leur types de réparation (colonne F > BJ).
Je recherche le code pouvant me permettre de calculer l'occurence (le nombre de fois) que les réparations ont lieu sur un types de véhicule et sur son numéro de série avec le coût total des réparations pour l'ensemble des véhicules en plus de l'indication du types de réparations.
Je recherche un résultat semblable à celui-ci :
Plant vehicule Type Serial Number Frequence Cout total Types de réparation
Patrick 1111 61190 2 1.096 € 1 4 7 9 10 12 17 19 33 43
Pour le moment j'utilse la fonction suivante qui ne me donne pas le résultat souhaiter :
Code:
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
|
Sub Frequency()
tablo = Sheets("Feuil1").Range("A2:BN" & Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row)
Set Dico = CreateObject("Scripting.dictionary")
For n = LBound(tablo, 1) To UBound(tablo, 1)
X = tablo(n, 2) & "|" & tablo(n, 3) & "|" & tablo(n, 4)
Dico(X) = Dico(X) + 1
Next
a = Dico.keys
b = Dico.items
ligne = 2
Sheets("Feuil1").Cells.ClearContents
Sheets("Feuil1").Cells(1, 1) = "Types de véhicules"
Sheets("Feuil1").Cells(1, 2) = "N° série"
Sheets("Feuil1").Cells(1, 3) = "Types réparations"
Sheets("Feuil1").Cells(1, 4) = "Coûts"
Sheets("Feuil1").Cells(1, 5) = "Frequency"
For n = LBound(a) To UBound(a)
Sheets("Feuil1").Cells(ligne, 1) = Split(a(n), "|")(0)
Sheets("Feuil1").Cells(ligne, 2) = Split(a(n), "|")(1)
Sheets("Feuil1").Cells(ligne, 3) = Split(a(n), "|")(2)
Sheets("Feuil1").Cells(ligne, 4) = Split(a(n), "|")(3)
Sheets("Feuil1").Cells(ligne, 5) = b(n)
ligne = ligne + 1
Next
Sheets("Feuil2").Select
End Sub |
Pourrais-je vous demander de l'aide car je bloque complétement? Merci de trouver le fichier explicatif ci-joint.