Bonjour à tous,
Je débute en VB et je dois faire une petite application qui permet de reformater un fichier. Voici un explicatif de mon applis :
1) Je lis un fichier en sequentiel
2) Je récupére les 3 premier caractéres
3) Je fais un select case dessus et en fonction de la valeur j'écri dans un fichier.txt, un titre de rubrique associé à ces 3 caractères + ces 3 caractères. (j'espère que je suis claire).
Comme les 3 premiers caractères peuvent prendre 14 valeurs différentes, je voulais faire une fonction afin d'éviter d'écrire 14 fois la meme chose. Mais étant débutant, je galère un peu !! Voici mon code :
Bref, suis-je bien parti ?? ou est mon erreur dans mon appel de fonction ??
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
44
45
46
47 ' Traitement du fichier à traiter Private Sub Bt_Traiter_Click() ' Déclaration des variables Dim LgTmp As String Dim LgTmp_2 As String Dim Fichier As String Dim Titre_Entite As String Fichier = Txt_Fichier.Text MsgBox (Fichier) Open Fichier For Input As #1 Do Until EOF(1) Line Input #1, LgTmp$ ' On récupére les 3 premiers caractères LgTmp_2 = Mid(LgTmp$, 2, 3) MsgBox (LgTmp_2) Select Case LgTmp_2 Case "000" Titre_Entite = "Entite NOP-ENT Entête" Fonction_Traiter(LgTmp_2,Titre_Entite) ' Il m'indique une erreur ici ! Il attends un "=" ..???? Case "128" Titre_Entite = "Toto" Fonction_Traiter(LgTmp_2, Titre_Entite) ' idem là ! End Select Close #2 Loop Close #1 ' On ouvre la fenêtre d'affichage avec le bon formatage ' Frm_Affichage.Show ' Print "Entite " & LgTmp_2 End Sub Private Sub Fonction_Traiter(Val_Entite As String, Titre_Entite As String) Case Val_Entite MsgBox ("Titre_Entite :" & Val_Entite) Open "D:\projet_VB\debug_noescan\test2.txt" For Append As #2 Write #2, "Titre_Entite :" & Val_Entite End Sub
Merci de votre aide.
@+ tard
Partager