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 : Sélectionner tout - Visualiser dans une fenêtre à part
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