J'ai un bout de ma procédure que je souhaiterai transformé en fonction
mais je n'y arrive pas.
le but de la fonction serai de renvoyer un tableau rempli.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 dim j as integer dim tablo(25) ,extrac(string) extrac= L;1023/6666;2;350;;0;0;10;TEST;20101010;652016;;;;100000 Line Input #filenum, extrac TOTAL = Len(extrac) 'longueur de la chaine j = 1 Do While TOTAL > 0 If Left(extrac, 1) <> ";" And InStr(1, extrac, ";") <> 0 Then tablo(j) = Left(extrac, (InStr(1, extrac, ";") - 1)) extrac = Right(extrac, TOTAL - Len(tablo(j)) - 1) Else If InStr(1, extrac, ";") = 0 Then ' si plus de ; alors dans la ligne tablo(j) = IIf(IsNull(extrac), " ", extrac) 'si c NULL alors " " sinon on mais la valeur ds la table extrac = "" Else If Left(extrac, 1) = ";" Then 'si deux ; se suivent tablo(j) = " " extrac = Right(extrac, TOTAL - 1) End If End If End If TOTAL = Len(extrac) 'longueur de la chaine j = j + 1 Loop j = j - 1 '---------------- extraction vers des variables valeur30 = numcde 'numero valeur31 = tablo(3) 'numero de ligne valeur32 = tablo(2) 'code valeur33 = tablo(5) valeur34 = tablo(6) valeur35 = tablo(7) valeur36 = tablo(8) valeur37 = tablo(9) valeur38 = tablo(10) valeur39 = tablo(11) valeur40 = tablo(12) valeur41 = tablo(13) valeur42 = tablo(14) valeur43 = tablo(15) valeur44 = tablo(16) --------------------------------------------------------------------------'Dans ma procedure j'appel la fonction extraction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Function extraction(ByRef extrac As String, ByVal tablo As String) As String Dim extract, tablo() As String Dim j, total As Integer ' total = Len(extrac) 'longueur de la chaine ' j = 1 ' Do While total > 0 ' If Left(extrac, 1) <> ";" And InStr(1, extrac, ";") <> 0 Then ' tablo(j) = Left(extrac, (InStr(1, extrac, ";") - 1)) ' extrac = Right(extrac, total - Len(tablo(j)) - 1) ' Else ' If InStr(1, extrac, ";") = 0 Then ' si plus de ; alors dans la ligne ' tablo(j) = IIf(IsNull(extrac), " ", extrac) 'si c NULL alors " " sinon on mais la valeur ds la table ' extrac = "" ' Else ' If Left(extrac, 1) = ";" Then 'si deux ; se suivent ' tablo(j) = " " ' extrac = Right(extrac, total - 1) ' End If ' End If ' End If ' total = Len(extrac) 'longueur de la chaine ' j = j + 1 ' Loop ' j = j - 1 End Function
'pour essayer de remplir mon tableau
' Mais cela ne marche pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part tablo() = extraction(extrac, tablo)
le code pour trié est bon , c'est juste l'appel de la fonction qui ne marche pas
Quelqu'un aurait il une idée!
Partager