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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
| Sub Produit()
Dim A1
Dim A2
Dim A3
Dim A4
'Calcul du nombre de ligne à traiter dans la feuille 'base'
'Do while
'offset (1,0)
'Loop
Dim Produit_1
Dim nvlle_destination1
Dim nvlle_destination2
Dim nvlle_destination3
Dim nvlle_destination4
Dim nvlle_destination5
Dim nvlle_destination6
Dim nvlle_destination7
Dim nvlle_destination8
Dim nvlle_destination9
Dim nvlle_destination10
Dim nvlle_destination11
Dim format
A2 = 4
A3 = 1
For A1 = 1 To 345 ' Le chiffre 45 sert à faire la boucle pour tout les tableaux
Sheets("DEMANDE").Select
Range(Cells(A2, 3), Cells(A2, 3)).Select ' Correspond à la cellule ("C4")
Produit_1 = Range(Cells(A2, 3), Cells(A2, 3)).Value ' Détermine la valeur de ("C4")
For Each C In Sheets("base").Range("A1:A1000") ' Recherche les composants dans la feuille ("base")
If Produit_1 = C.Value Then ' Valeur de l'item recherché en ("C4")
nvlle_destination1 = C.Offset(0, 1).Value ' Choisit le premier composant dans la feuille ("base")
nvlle_destination2 = C.Offset(0, 2).Value ' Choisit le deuxième composant dans la feuille ("base")
nvlle_destination3 = C.Offset(0, 3).Value ' Choisit le troisième composant dans la feuille ("base")
nvlle_destination4 = C.Offset(0, 4).Value
nvlle_destination5 = C.Offset(0, 5).Value
nvlle_destination6 = C.Offset(0, 6).Value
nvlle_destination7 = C.Offset(0, 7).Value
nvlle_destination8 = C.Offset(0, 8).Value
nvlle_destination9 = C.Offset(0, 9).Value
nvlle_destination10 = C.Offset(0, 10).Value
nvlle_destination11 = C.Offset(0, 11).Value
format = C.Offset(0, 13).Value ' Choisit le format dans la feuille ("base")
ActiveCell.Offset(0, 1).Value = nvlle_destination1 ' Renvoi la valeur du premier composant dans la feuille ("demande")
ActiveCell.Offset(0, 2).Value = nvlle_destination2 ' Renvoi la valeur du deuxième composant dans la feuille ("demande")
ActiveCell.Offset(0, 3).Value = nvlle_destination3 ' Renvoi la valeur du troisième composant dans la feuille ("demande")
ActiveCell.Offset(0, 4).Value = nvlle_destination4
ActiveCell.Offset(0, 5).Value = nvlle_destination5
ActiveCell.Offset(0, 6).Value = nvlle_destination6
ActiveCell.Offset(0, 7).Value = nvlle_destination7
ActiveCell.Offset(0, 8).Value = nvlle_destination8
ActiveCell.Offset(0, 9).Value = nvlle_destination9
ActiveCell.Offset(0, 10).Value = nvlle_destination10
ActiveCell.Offset(0, 11).Value = nvlle_destination11
ActiveCell.Offset(3, -1).Value = format ' Renvoi la valeur du format dans la feuille ("demande")
GoTo suite ' Sortir de la boucle
End If
Next
suite:
Dim i As Integer
i = 1
For i = 1 To 3
Range("D6") = WorksheetFunction.VLookup(Range("D4"), Sheets("BASECOMPOSANTS").Range("*_A1:B1000_*"), 2, False)
Next i
A2 = A2 + 6 ' Décalage entre chaque tableau de la feuille ("demande")
Next
End Sub |
Partager