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
| Option Explicit
Dim TblLgns, TblMots(), Tbl2d()
Sub ConstruitTableau2D()
Dim fso, fichier, T, U, V, D2max
Dim ContenuFichier, TblCol
Dim ChemNomFichier
ChemNomFichier = "C:\MesProgs\En VBScript et HTA\Lire fichier sortie Tableau2D\FichierDemo.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fichier = fso.opentextfile(ChemNomFichier, 1)
ContenuFichier = fichier.ReadAll
fichier.Close
Set fichier = Nothing
Set fso = Nothing
D2max = 1 'pour trouver la ligne qui a le plus de mots (colonnes)
TblLgns = Split(ContenuFichier,vbNewline) 'on recupère le tableau de lignes
For T = 0 To UBound(TblLgns)
TblCol = Split(TblLgns(T), " ", -1, 1)
If D2max < UBound(TblCol) Then D2max = UBound(TblCol)
Next
'maintenant que l'on a les 2 dimensions du tableau ...
Redim Tbl2d(UBound(TblLgns), D2max)' on le dimensionne
V=0 'pour incrémenter/dimensionner le tableau des mots
For T = 0 To UBound(TblLgns)
TblCol = Split(TblLgns(T), " ", -1, vbTextCompare)' on optient chaque mots de la ligne
For U = 0 To UBound(TblCol)' on boucle pour ....
Tbl2d(T,U)= TblCol(U) 'remplissage du tableau 2D
Redim Preserve TblMots(V)'on dimensionne au fur et a mesure le tableau de mots
TblMots(V) = TblCol(U) 'remplissage du tableau de mots
V=V+1
Next
Next
End sub
'-------------------------------------------
ConstruitTableau2D
Msgbox "1er ligne:" & vbNewline & TblLgns(0) & vbNewline & vbNewline & "dernière ligne:" & vbNewline & TblLgns(UBound(TblLgns))
Msgbox "1er mot:" & vbNewline & TblMots(0) & vbNewline & vbNewline & "dernière mot:" & vbNewline & TblMots(UBound(TblMots))
Msgbox "Affichage du quatrième mot de la troisième ligne: " & vbNewline & Tbl2d(2,3) |
Partager