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
| Option Explicit
Private Type MultipleTableau
LeData() As String
End Type
Private Sub Form_Load()
Dim MonTableau() As MultipleTableau
Dim T As Integer, U As Integer
Dim Msg$
Dim NbrLgn As Integer, NbrCln As Integer
Dim NumFich As Integer
Dim CheminNomFichier As String
CheminNomFichier = "?????????????"
Msg$ = ""
NumFich = FreeFile
Open CheminNomFichier For Input As #NumFich
Msg$ = Input(FileLen(CheminNomFichier), NumFich)
Close #NumFich
If Msg$ = "" Then
MsgBox "le fichier est vide", vbCritical
Unload Me
End If
'variables intermediaires à 1 indice, servant à construire le tableau "MonTableau" a 2 indices
Dim DecoupeContenuLg() As String
Dim DecoupeContenuCl() As String
'création du tableau "DecoupeContenuLg", pour 1° indice (Ligne) du tableau "MonTableau"
DecoupeContenuLg = Split(Msg$, vbCrLf)
'création du tableau "DecoupeContenuCl", pour 2° indice (colonne, "LeData") du tableau "MonTableau"
DecoupeContenuCl = Split(DecoupeContenuLg(0), ",")
'recuperation du Nbr de lignes et Nbr de colonne
NbrLgn = UBound(DecoupeContenuLg) - 1 '(-1 car le fichier ce termine par une ligne vierge)
NbrCln = UBound(DecoupeContenuCl)
'maintenant que le Nbr de lignes et le Nbr de colonnes est connu
'dimensionnement de la variable tableau "MonTableau"
ReDim MonTableau(NbrLgn)
'remplis le tableau "MonTableau" a 2 dimensions
For T = 0 To NbrLgn
'recuperation de chaque ligne
DecoupeContenuCl = Split(DecoupeContenuLg(T), ",") 'la separation de chaque colonnes est une virgule
For U = 0 To NbrCln
ReDim Preserve MonTableau(T).LeData(U)
MonTableau(T).LeData(U) = DecoupeContenuCl(U)
Next U
Next T
'Lecture du tableau "MonTableau" a 2 dimensions
For T = 0 To NbrLgn
For U = 0 To NbrCln
Debug.Print MonTableau(T).LeData(U)
Next U
Next T
End Sub |
Partager