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
| Dim DerLigne As Integer, ColOrgane As Integer, ColBesoin23 As Integer, ColBesoin24 As Integer, ColBesoin25 As Integer, ColBesoin26 As Integer
Dim ColNeuf As Integer, ColGR As Integer, ColPR As Integer, ColCasse As Integer, ColAssistance As Integer, ColMAJAssistance As Integer, ColMAJ23 As Integer, ColMAJAssist24 As Integer
Dim ColCrash As Integer, ColExtraStock As Integer, LigInfo As Integer, ColPrix As Integer, ColPrixCorrige As Integer
Dim ColReference As Integer, ColQuantiteStock As Integer, ColQuantiteDA As Integer, ColCommande As Integer
LigInfo = 9
DerLigne = ThisWorkbook.Worksheets("Nomenclature WEC Etude 24").Range("A" & Rows.Count).End(xlUp).Row
ColOrgane = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Organe", LigInfo)
'A modifier si on change les cas*************************************************************************************************************************************
ColReference = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Référence", LigInfo)
ColQuantiteStock = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Stk Projet Total", LigInfo)
ColQuantiteDA = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Quantité DA", LigInfo)
ColCommande = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Quantité restant à livrer", LigInfo)
ColBesoin24 = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Besoin 2024", LigInfo)
ColBesoin25 = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Besoin 2025", LigInfo)
ColBesoin26 = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Besoin 2026", LigInfo)
ColNeuf = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Neuf", LigInfo)
ColGR = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Grosse Révision", LigInfo)
ColPR = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Petite Révision", LigInfo)
ColMAJ23 = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "MAJ pièce 2023", LigInfo)
ColCasse = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "casse", LigInfo)
ColAssistance = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Assistance", LigInfo)
ColMAJAssistance = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "MAJ Assistance", LigInfo)
ColMAJAssist24 = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "MAJ assistance def 2024", LigInfo)
ColCrash = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Crash", LigInfo)
ColExtraStock = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Extra Stock", LigInfo)
ColPrix = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Prix dernière commande", LigInfo)
ColPrixCorrige = ColonneCible(ThisWorkbook.Name, "Nomenclature WEC Etude 24", "Prix corrigé", LigInfo)
'*********************************************************************************************************************************************************************
'2. On parcours la nomenclature pour définir pour chaque ligne le volume nécessaire'
'On change de stratégie on va s'appuyer sur les besoins afin de prendre en compte le stock
'On alimente la cartographie
ReDim Cartographie(DerLigne, 9)
' cartographie(0) = Pos --> Nécessaire
' cartographie(1) = Ref
' cartographie(2) = Stock
' cartographie(3) = DA
' cartographie(4) = commande
' cartographie(5) = organe
' cartographie(6) = prix
' cartographie(7) = Besoin 24
' cartographie(8) = Besoin 25
' cartographie(9) = Besoin 25
Dim i As Integer, j As Integer, k As Integer, Prix_Retenu As Double
Dim Reference_Connue As Boolean
With ThisWorkbook.Worksheets("Nomenclature WEC Etude 24")
For i = LigInfo + 1 To DerLigne
If .Cells(i, ColOrgane) <> "" Then
Reference_Connue = False
'Je vérifier que la référence n'est pas déjà enregistré
j = 0
Do Until Cartographie(j, 1) = ""
If StrComp(Cartographie(j, 1), .Cells(i, ColReference), vbTextCompare) = 0 Then
'si trouve on conserve les information Stock,DA, Commande et on ajoute le besoin
'?Gestion des organes différents--> On impute sur le 1er organe vu (on a le budget mais au mauvais endroit)
Reference_Connue = True
Exit Do
End If
j = j + 1
Loop
If Reference_Connue = False Then
Cartographie(k, 1) = .Cells(i, ColReference)
Cartographie(k, 2) = .Cells(i, ColQuantiteStock)
Cartographie(k, 3) = .Cells(i, ColQuantiteDA)
Cartographie(k, 4) = .Cells(i, ColCommande)
Cartographie(k, 5) = .Cells(i, ColOrgane)
If .Cells(i, ColPrixCorrige) <> "" Then
Cartographie(k, 6) = .Cells(i, ColPrixCorrige)
Else
Cartographie(k, 6) = .Cells(i, ColPrix)
End If
Cartographie(k, 7) = .Cells(i, ColBesoin24)
Cartographie(k, 8) = .Cells(i, ColBesoin25)
Cartographie(k, 9) = .Cells(i, ColBesoin26)
k = k + 1
Else
Cartographie(j, 7) = Cartographie(j, 7) + .Cells(i, ColBesoin24)
Cartographie(j, 8) = Cartographie(j, 8) + .Cells(i, ColBesoin25)
Cartographie(j, 9) = Cartographie(j, 9) + .Cells(i, ColBesoin26)
End If |
Partager