E
Dim ws_OP As Worksheet
Dim i As Integer
Dim decalage As Long
Dim LO_OP As ListObject
Dim DicoAct As Object, DicoIO As Object, DkeysAct As Variant, DKeysIO As Variant
'Création des dictionnaires
Set DicoAct = CreateObject("scripting.dictionary") 'Création des dictionnaires
Set DicoIO = CreateObject("scripting.dictionary")
'Création d'une variable intermédiaire pour chaque dictionnaire, ce qui permet de les gérer
DkeysAct = DicoAct.Keys
DKeysIO = DicoIO.Keys
Set ws_OP = Sheets("Export_chargeOP")
Set LO_OP = ws_OP.ListObjects("Tab_ChargeOP")
Call Variables.CreationDicoAct 'Transfert dans un dictionnaire des charges et décalages de chaque activité.
If Not VariablesCreees Then Call Variables.CreationVariables 'Si l'IO n'existe pas, on le crée dans la feuille tampon (et T_Param)
For i = 1 To LO_OP.ListRows.Count 'On parcourt le tableau ligne par ligne, dans la colonne "IO"
'Correction du regroupement :
If LO_OP.Range(i + 1, 1).Value = "?" Then 'Si l'IO est encore inconnu
LO_OP.Range(i + 1, 12).Value = LO_OP.Range(i + 1, 4).Value 'Le regroupement "corrigé" est celui de l'export
Else
LO_OP.Range(i + 1, 12).Value = DKeysIO(LO_OP.Range(i + 1, 1).Value)(2) 'Si l'on connaît l'IO, alors le regroupement est celui de référence et non celui qui est écrit dans la colonne "RgtAct"
End If