Compter le nombre de cellules différentes sur une plage de données variable
Bonjour,
Je travaille sur une problématique de stockage.
Je cherche à compter automatiquement le nombre d'emplacements différents dans lesquels est stocké un équipement.
Exemple : Une fabrique de vélos stocke les éléments du vélo dans des rayonnages différents
Vélo 1 stocké à l'emplacement A
Vélo 1 stocké à l'emplacement A
Vélo 1 stocké à l'emplacement B
Vélo 1 stocké à l'emplacement C
Vélo 2 stocké à l'emplacement A
Vélo 2 stocké à l'emplacement D
Vélo 2 stocké à l'emplacement D
Le code devrait donc renvoyer "3" pour le nombre d'emplacements différents occupés par les vélo 1, et renvoyer "2" pour les vélo 2.
Voici le code que j'ai essayé:
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 29 30 31 32 33 34
| Sub test2()
Dim Val1 As String
Dim Val2 As String
Dim Nb As Integer
Dim a As Variant
Dim i As Variant
Nb = 1
a = i - Nb
'Comparaison de deux cases successives pour vérifier que l'on traite le même type de vélo'
Range("A1").Select
For i = 1 To Range("A65536").End(xlUp).Row
Val1 = ActiveCell.Value
Val2 = Selection.Offset(1, 0).Value
If Val1 = Val2 Then
Nb = Nb + 1
Selection.Offset(1, 0).Select
i = i + 1
Else
'ActiveCell = Nb'
Selection.Offset(-Nb, 2).Select
'compter le nombre d'emplacements différents'
' ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT(1/COUNTIF(R[0]C[-1]:R[& Nb &]C[-1],R[0]C[-1]:R[& Nb &]C[-1]))"'
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT(1/COUNTIF(B" & a & ":B" & i & ",B" & a & ":B" & i & "))"
Selection.Offset(Nb + 1, -2).Select
End If
Nb = 1
Next
End Sub |
Pour l'instant je n'arrive pas à run mon code car il y a une erreur sur l'utilisation de la formule.
Avez vous des propositions ou remarques à me faire ?
Bien à vous