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
|
'Dim ligne_mots(w,i) As Integer
Option Explicit
Dim TblLgns, TblMots(), Tbl2d()
Dim fso, fichier, T, U, V, D2max
Dim ContenuFichier, TblCol
Dim ChemNomFichier
Dim chaine
Sub ConstruitTableau2D()
'chaine = "ODP"
ChemNomFichier = "*****"
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
i = 0
'Coller le resultat avec la bonne mise en forme
set oFich2=fso.OpenTextFile("C:\Etienne\Script_vbs\etienne.txt",2,True)
For w = l to Ubound(Tbl2d)
While i < D2max
oFich2.write Tbl2d(w,i)
i = i + 1
Wend
Next
' Nettoyage des variables a la fin
Set oFich = Nothing
Set oFich2 = Nothing
Set fso = Nothing
Set Tbl2d = Nothing
End Sub () |
Partager