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é:
Pour l'instant je n'arrive pas à run mon code car il y a une erreur sur l'utilisation de la formule.
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
Avez vous des propositions ou remarques à me faire ?
Bien à vous
Partager