le voilà mon code si ca ourrait une idée ce que je fais. ma question est fouiller dans le dictionnaire pour accéder aux éléments du vecteur colonne.
Sub Extraction_Data()
'Récupérer les paramètres pour extraction des données csv
chemin = ActiveWorkbook.Path + "\projet\"
Jour = Format(Range("DateJour"), "dd")
Mois = Format(Range("DateJour"), "mm")
Annee = Format(Range("DateJour"), "yyyy")
Jour_1 = Format(Range("DateJour_1"), "dd")
Mois_1 = Format(Range("DateJour_1"), "mm")
Annee_1 = Format(Range("DateJour_1"), "yyyy")
CheminVecteurDateJour = "Fichier_1 & Annee » & Mois & Jour& ".csv"
CheminVecteurDateJour_1 = "Fichier_2" & Annee_1 & Mois_1 & Jour_1 & ".csv"
CheminScalaireDateJour = "Fichier_3" & AnneePnL & MoisPnL & JourPnL & ".csv"
CheminScalaireDateJour_1 = "Fichier_4" & AnneePnL_1 & MoisPnL_1 & JourPnL_1 & ".csv"
'Stockage de la data dans le dictionnaire DicoData
Dim DicoData
Set DicoData = CreateObject("Scripting.dictionary")
ReDim vector(100)
' Vecteur de modification
ReDim bVector(51)
ReDim eVector(51)
ReDim CCtpVector(51)
ReDim dVector(51)
ReDim dVector_1(51)
ReDim bVector_1(51)
ReDim CCtpVector_1(51)
ReDim cNatVector_1(51)
ReDim eVector_1(51)
ReDim eVector(51)
'Récupérer les données scalaire DateJour - 1
filenameScalar = chemin & CheminScalaireDateJour_1
Open filenameScalar For Input As #1
rowNumber = 1
Do Until EOF(1)
Line Input #1, LineFromFile
LineItems = Split(LineFromFile, ";")
If rowNumber <> 1 Then
ctp = LineItems(2)
lgd_1 = Replace(LineItems(13), ".", ",")
vector(8) = lgd_1
DicoData.Add ctp, vector
End If
rowNumber = rowNumber + 1
Loop
Close #1
'Récupérer les données scalar DateJour
filenameScalar = chemin & CheminScalaireDateJour
Open filenameScalar For Input As #2
rowNumber = 1
Do Until EOF(2)
Line Input #2, LineFromFile
LineItems = Split(LineFromFile, ";")
If rowNumber <> 1 Then
ctp = LineItems(2)
lgd = Replace(LineItems(13), ".", ",")
If DicoData.exists(ctp) Then
vector = DicoData(ctp)
DicoData.Remove (ctp)
End If
vector(9) = lgd
DicoData.Add ctp, vector
End If
rowNumber = rowNumber + 1
Loop
Close #2
'Récupérer les données Vector DateJour - 1
filenameVector = chemin & CheminVecteurDateJour_1
Open filenameVector For Input As #3
rowNumber = 1
vectorIndex = 0
Do Until EOF(3)
Line Input #3, LineFromFile
LineItems = Split(LineFromFile, ";")
If rowNumber <> 1 Then
ctp = LineItems(2)
b_1 = Replace(LineItems(5), ".", ","
c_1 = Replace(LineItems(7), ".", ",")
d_1 = Replace(LineItems(11), ".", ",")
e_1 = Replace(LineItems(17), ".", ",")
bVector_1(vectorIndex,1) = b_1
cVector_1(vectorIndex,1) = c_1
dVector_1(vectorIndex,1) = d_1
eVector_1(vectorIndex,1) = e_1
End If
rowNumber = rowNumber + 1
vectorIndex = vectorIndex + 1
If vectorIndex = 52 Then
vector = DicoData(ctp)
DicoData.Remove (ctp)
vector(11) = bVector_1
vector(15)=cVector_1
vector(29) = dVector_1
vector(21) = eVector_1
DicoData.Add ctp, vector
vectorIndex = 1
End If
Loop
Close #3
'Récupérer les données Vector PnL
filenameVector = chemin & CheminVecteurDateJour
Open filenameVector For Input As #4
rowNumber = 1
vectorIndex = 0
Do Until EOF(4)
Line Input #4, LineFromFile
LineItems = Split(LineFromFile, ";")
If rowNumber <> 1 Then
ctp = LineItems(2)
b = Replace(LineItems(5), ".", ",")
c = Replace(LineItems(7), ".", ",")
d = Replace(LineItems(11), ".", ",")
e = Replace(LineItems(17), ".", ",")
bVector(vectorIndex,1) = b
cVector(vectorIndex,1) = c
dVector(vectorIndex,1) = d
eVector(vectorIndex,1) = e
End If
rowNumber = rowNumber + 1
vectorIndex = vectorIndex + 1
If vectorIndex = 52 Then
vector = DicoData(ctp)
DicoData.Remove (ctp)
vector(12) = bVector
vector(18) = cVector
vector(30) = dVector
vector(22) = eVector
DicoData.Add ctp, vector
vectorIndex = 1
End If
Loop
Close #4