Bonjour à tous,
J'ai un problème parait très simple pour vous mais je n'arrive pas à le résoudre.
J'ai une liste de produit, je veux créer une autre liste de 5 premier caractères sans d'occurrence.
Mon code marche bien :
Mais quand je veux faire la même chose pour plusieurs feuilles dans ce classeur, le code ci-dessous ne marche que pour la première feuille :
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 Sub List_prodref() i = 7 j = 7 Dim shortrefpro As String Dim refpro As String While Not IsEmpty(Sheets(1).Range("A" & i).Value) refpro = Sheets(1).Range("A" & i).Value shortrefpro = Left(refpro, 5) Sheets(1).Range("F" & j).Value = shortrefpro i = i + 1 If InStr(shortrefpro, Left(Range("A" & i).Value, 5)) = 0 Then j = j + 1 End If Wend End Sub
Et si les produits ne sont pas bien classés, mon code marche pas du tout.
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 Sub List_prodref() i = 7 j = 7 Dim shortrefpro As String Dim refpro As String For k = 1 To Sheets.Count Sheets(k).Select While Not IsEmpty(Sheets(k).Range("A" & i).Value) refpro = Sheets(k).Range("A" & i).Value shortrefpro = Left(refpro, 5) Sheets(k).Range("F" & j).Value = shortrefpro i = i + 1 If InStr(shortrefpro, Left(Sheets(k).Range("A" & i).Value, 5)) = 0 Then j = j + 1 End If Wend Next k End Sub
Le fait d'éviter l'occurrence me donne beaucoup de soucis.
Merci pour votre aide.
Partager