Bonjour
J’ai écrit un code pour renommer certaines références produit.
Ce premier code fonctionne correctement, mais certains produits ont des codes identiques et ils ont un code secondaire pour les différencier
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 Sub Macro2() 'Déclaration Dim f As Integer Dim i As Integer Dim tab1(176) Dim tab2(176) Dim tab3(301) Dim tab4(301) 'Enregistrement des valeurs dans le tableau For i = 1 To 176 tab1(i) = Worksheets("Feuil2").Range("B" & i) tab2(i) = Worksheets("Feuil2").Range("C" & i) Next For i = 1 To 301 tab3(i) = Worksheets("données").Range("D" & i + 5) tab4(i) = 0 Next i = 1 f = 1 Do While i < 302 If tab3(i) = tab1(f) Then tab4(i) = tab2(f): i = i + 1: f = 1 Else: f = f + 1 Loop End Sub
Sur ce nouveau code, vba me met le message d'erreur 9 l'indice n'appartient pas à la sélection pour la ligne 26
J'ai cherché et je ne comprends toujours pas mon erreur, si quelqu'un peut m'expliquer
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 Sub Macro2() 'Déclaration Dim f As Integer Dim i As Integer Dim tab1(176) Dim tab2(176) Dim tab3(301) Dim tab4(301) 'Enregistrement des valeurs dans le tableau For i = 1 To 176 tab1(i) = Worksheets("Feuil2").Range("A" & i) & " " & Worksheets("Feuil2").Range("B" & i) tab2(i) = Worksheets("Feuil2").Range("C" & i) Next For i = 1 To 301 tab3(i) = Worksheets("données").Range("C" & i + 5) & " " & Worksheets("données").Range("D" & i + 5) tab4(i) = 0 Next i = 1 f = 1 Do While i < 302 If tab3(i) = tab1(f) Then tab4(i) = tab2(f): i = i + 1: f = 1 Else: f = f + 1 Loop End Sub
Merci
Adrien
Partager