Traitement fichier Text

Résolu
viclaudel Messages postés 13 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 19 mars 2009 - 15 mars 2009 à 21:23
viclaudel Messages postés 13 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 19 mars 2009 - 18 mars 2009 à 23:39
Bonjour, je suis débutant en VB, je dois traiter des fichiers rapport d'exploitation en fichier text.
Il faut grace un programme en VB6 que j'aille ouvrir, lire, extraire des valeurs, et les réécrire dans un nouveau fichier text sous forme de colonne.
Le fichier text que je dois lire contient à un moment une valeur je dois extraire les 1000 première valeur et les mettre en colonne dans le nouveau fichier. (des que la ligne commence avec AT je récupère la valeur entre parenthèse)
Je dois le faire 5 fois de suite pour obtenir 5 colonnes avec toutes les valeurs.
J'arrive à faire ma première colonne mais j'utlise le même principe pour les autre et rien ne s'affiche.

Voilà une partie du fichier que je dois lire :

[HEADER]
DATE = date #2009-03-04
STANDARD = 'PLCopen  v0.1 1993'
SENDER = 'Schneider Electric Industries SAS PL7 PRO V4.5'
[APPLICATION]
NAME = 'STATION'
DATE = date #2009-02-26
VERSION = '0'
[DATA_UNIT]DA_TYPE LOCATION NAME BODY
VAR_GLOBAL
AT %MW1000 : WORD := (384);
AT %MW1001 : WORD := (384);
AT %MW1002 : WORD := (384);
AT %MW1003 : WORD := (384);
AT %MW1004 : WORD := (384);
AT %MW1005 : WORD := (384);
AT %MW1006 : WORD := (384);
AT %MW1007 : WORD := (383);
AT %MW1008 : WORD := (383);
AT %MW1009 : WORD := (383);
AT %MW1010 : WORD := (383);
AT %MW1011 : WORD := (383);
AT %MW1012 : WORD := (383);
AT %MW1013 : WORD := (383);
AT %MW1014 : WORD := (383);
AT %MW1015 : WORD := (383);
AT %MW1016 : WORD := (383);
AT %MW1017 : WORD := (383);
AT %MW1018 : WORD := (383);
AT %MW1019 : WORD := (383);
AT %MW1020 : WORD := (383);
AT %MW1021 : WORD := (383);
AT %MW1022 : WORD := (383);
AT %MW1023 : WORD := (383);

Voilà mon code quand je clique sur un bouton je le fais que pour 2 colonnes pour l'instant :

Private Sub Command1_Click()
Dim FSys, fs, Mypo, Mypo2, NbCar                  'pour creation du fichier

Dim MonFich, ReadC                'indication du nom du fichier
Dim Msg                     'message de réussite
Dim Name                    'nom du nouveau fichier
Dim donnees
Dim i, j As Integer
Dim C, C2 As String
Dim t As Variant
Dim Montableau(0 To 2, 0 To 999) As String
Dim chaine

'on récupére les données inscritent par l'utilisateur
G_CheminFichier = TXT_Chemin_Fichier.Text
G_NomFichier = TXT_Nom_Fichier.Text
G_NomFichierText = TXT_Nom_Fichier_Texte.Text

'Lecture
If G_NomFichier <> "" Then

    'ouverture du fichier source
    Open G_CheminFichier + G_NomFichier For Input As #1
    
    
         For i = 0 To 1999
               
        Line Input #1, ReadC
     
        'If Trim(ReadC) <> "" Then
            'If Trim(ReadC) <> "" Then
               'extraction de la valeur
                If Left(ReadC, 2) = "AT" Then
               
                Mypo = InStr(1, ReadC, "(")
                Mypo2 = InStr(1, ReadC, ")")
                NbCar = Mypo2 - Mypo
                C = Mid(ReadC, Mypo + 1, NbCar - 1)
                i = i + 1
                    'mise de la valeur dans un tableau en fonction du numéro de la ligne
                   If 0 < i <= 999 Then
                    Montableau(0, 999) = Montableau(0, 999) & vbCrLf & C & ";"
                  
                    Else
                    Montableau(1, 999) = Montableau(1, 999) & vbCrLf & C & ";"
                    End If
                   
                End If
                
                    'mise de valeur dans un chaine
                     chaine = CStr(Montableau(0, 999)) & CStr(Montableau(1, 999))
                    
                     Next i
                    
                   
                    

Close #1
End If
Text1.Text = chaine
'ecriture dans le nouveau fichier
Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFich = FSys.createtextfile("D:\Name.txt")
With MonFich
.writeline ("Num pts;U Alt; I Alt; % PID; U Exi;I Ext")
.writeline chaine
End With

et voilà ce que j'obtiens dans mon nouveau fichier sans ma 2ème colonne :

Num pts;U Alt; I Alt; % PID; U Exi;I Ext

384;
384;
384;
384;
384;
384;
384;
383;
383;
383;
383;
383;
383;
383;
383;
383;
383;
383;
383;
383;
383;
383;
383;

Si quelqu'un peu m'aider ou me donner des idées, ça serai sympa.

@+

8 réponses

pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
15 mars 2009 à 23:14
Bonsoir j'espére que j'ai bien compris ce que tu recherche, car je suis un peu rouillé, ca fait 4 ans que je n'ai plus touché a la vb, ni a la prog, mais comme j'ai envie de m'y remettre je me suis penché sur ton probléme...

Je suis certain qu'il y a une meilleure maniére de  procéder, mais avec mes reste et les quelques minute que j avais, c'est tous ce que j'ai pu faire lol

- J'utilise un 5 tableaux dynamique qui represente les 5 colonnes
- J'extrait les donnés du fichier et je remplie la coloneA de 1 a 1000 ensuite je passe a la coloneB et ainsi de suite...

A la sortie ca marche, mais il faudra que tu voi comment gérer au cas ou il y a pas 5000 données extraite???? sinon nada dans le fichier
voila au cas ou tu a besoin d'un peu plus d'aide hesite pas!!!!!!!!!!!!

voici mon code :

'Declaration des 5 colones ABCDEF
Dim ColA()
Dim ColB()
Dim ColC()
Dim ColD()
Dim ColE()
Dim Nb As Variant 'Stocke Nombre total de chiffre extrait du fichier
Dim Temp As String 'Variable temporaire pour analyse de ligne du fichier


'lecture, stockage,recup dans tableau
Open App.Path & "/source.txt" For Input As #1 'le fichier source
    Do While Not EOF(1)
        Line Input #1, Temp
            'Si la ligne commence par AT alors extraction des chiffre entre ()
                 If Mid(Temp, 1, 2) = "AT" Then
                        Dim PosDep As Integer
                        Dim PosFin As Integer
                        Dim Nombre As String
                        PosDep = InStr(1, Temp, "(", vbTextCompare)
                        PosFin = InStr(PosDep, Temp, ")", vbTextCompare)
                        Nombre = Mid(Temp, PosDep + 1, PosFin - PosDep - 1)
                        Nb = Nb + 1


                            Select Case Nb
                                Case 1 To 1000
                                ReDim Preserve ColA(Nb)
                                 ColA(Nb) = Nombre
                       
                                Case 1001 To 2000
                                ReDim Preserve ColB(Nb - 1000)
                                ColB(Nb - 1000) = Nombre
           
                                Case 2001 To 3000
                                ReDim Preserve ColC(Nb - 2000)
                                ColC(Nb - 2000) = Nombre
           
                                Case 3001 To 4000
                                ReDim Preserve ColD(Nb - 3000)
                                ColD(Nb - 3000) = Nombre
           
                                Case 4001 To 5000
                                ReDim Preserve ColE(Nb - 4000)
                                ColE(Nb - 4000) = Nombre
                            End Select
                End If
    Loop
Close #1


    'ecriture du tableau dans le fichier de sortie
    Open App.Path & "/fichier sortie.txt" For Output As #1
        For i = 1 To UBound(ColA)
            On Error Resume Next 'au cas ou il y a pas 5000 entré d extraite du fichier
            Print #1, ColA(i) & vbTab & ColB(i) & vbTab & ColC(i) & vbTab & ColD(i) & vbTab & ColE(i)
        Next i
    Close #1
End Sub

Pcpunch59 is back
3
cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 1
17 mars 2009 à 01:18
salut
j'ai repris le code de "punch", je l'ai finalisé pour aboutir au résultat souhaité, en voila une copie:

Private Sub Command1_Click()
Dim ColA() As String
Dim ColB() As String
Dim ColC() As String
Dim ColD() As String
Dim ColE() As String
ReDim ColA(0)
ReDim ColB(0)
ReDim ColC(0)
ReDim ColD(0)
ReDim ColE(0)
Dim Nb As Variant 'Stocke Nombre total de chiffre extrait du fichier
Dim Temp As String 'Variable temporaire pour analyse de ligne du fichier

'lecture, stockage,recup dans tableau
Open App.Path & "\source.txt" For Input As #1 'le fichier source
    Do While Not EOF(1)
        Line Input #1, Temp
            'Si la ligne commence par AT alors extraction des chiffre entre ()
                 If Mid(Temp, 1, 2) = "AT" Then
                        Dim PosDep As Integer
                        Dim PosFin As Integer
                        Dim Nombre As String
                        PosDep = InStr(1, Temp, "(", vbTextCompare)
                        PosFin = InStr(PosDep, Temp, ")", vbTextCompare)
                        Nombre = Mid(Temp, PosDep + 1, PosFin - PosDep - 1)
                        Nb = Nb + 1

                            Select Case Nb
                                Case 1 To 1000
                                ReDim Preserve ColA(Nb)
                                 ColA(Nb) = Nombre
                      
                                Case 1001 To 2000
                                ReDim Preserve ColB(Nb - 1000)
                                ColB(Nb - 1000) = Nombre
          
                                Case 2001 To 3000
                                ReDim Preserve ColC(Nb - 2000)
                                ColC(Nb - 2000) = Nombre
          
                                Case 3001 To 4000
                                ReDim Preserve ColD(Nb - 3000)
                                ColD(Nb - 3000) = Nombre
          
                                Case 4001 To 5000
                                ReDim Preserve ColE(Nb - 4000)
                                ColE(Nb - 4000) = Nombre
                            End Select
                End If
    Loop
Close #1
   
    'écriture du tableau dans le fichier de sortie
    Open App.Path & "/fichier sortie.txt" For Output As #1
        For i = 1 To UBound(ColA)
            'On Error Resume Next 'au cas ou il y a pas 5000 entré d extraite du fichier
            If UBound(ColB) = 0 Then _
                Print #1, ColA(i)
            If UBound(ColC) = 0 Then ReDim Preserve ColB(UBound(ColA)): _
                Print #1, ColA(i) & ";" & ColB(i)
            If UBound(ColD) = 0 Then ReDim Preserve ColC(UBound(ColA)): _
                Print #1, ColA(i) & ";" & ColB(i) & ";" & ColC(i)
            If UBound(ColE) = 0 Then ReDim Preserve ColD(UBound(ColA)): _
                Print #1, ColA(i) & ";" & ColB(i) & ";" & ColC(i) & ";" & ColD(i)
            If UBound(ColE) <> 0 Then ReDim Preserve ColE(UBound(ColA)): _
                Print #1, ColA(i) & ";" & ColB(i) & ";" & ColC(i) & ";" & ColD(i) & ";" & ColE(i)
        Next i
    Close #1
End Sub

A toi de l'adapter pour tes besoins
@+

CNTJC
3
cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 1
18 mars 2009 à 15:27
En reprenant ton code et en ayant débogué et finalisé celui-ci, voici cette nouvelle version de code.

Private Sub Command1_Click()
Dim FSys, fs, Mypo, Mypo2, NbCar                  'pour creation du fichier

Dim MonFich, ReadC                'indication du nom du fichier
Dim Msg                     'message de réussite
Dim Name                    'nom du nouveau fichier
Dim donnees
Dim i, j As Integer
Dim C, C2 As String
Dim t As Variant
Dim Montableau(0 To 4, 0 To 999) As String
Dim chaine

'on récupére les données inscritent par l'utilisateur
G_CheminFichier = TXT_Chemin_Fichier.Text
G_NomFichier = TXT_Nom_Fichier.Text
G_NomFichierText = TXT_Nom_Fichier_Texte.Text

'Lecture
If G_NomFichier <> "" Then

    'ouverture du fichier source
    Open G_CheminFichier + G_NomFichier For Input As #1
   
        '****** For i = 0 To 4999 *********
        'dans la boucle "FOR", les lignes d'entête sont comptées, ce qui fausse le nombre d'éléments du tableau "Montableau(0, i)", on préfèrera une boucle "DO LOOP"
      
        'boucle sur 5000 lignes
        i = 0
         Do While i < 5000
            ' gestion d'erreur si moins de 5000 lignes
            On Error Resume Next
           
            Line Input #1, ReadC
           
            If Err.Number <> 0 Then
                Err.Clear
                Exit Do
            End If
               'extraction de la valeur
            If Left(ReadC, 2) = "AT" Then
                Mypo = InStr(1, ReadC, "(")
                Mypo2 = InStr(1, ReadC, ")")
                NbCar = Mypo2 - Mypo
                C = Mid(ReadC, Mypo + 1, NbCar - 1)
                'mise de la valeur dans un tableau en fonction du numéro de la ligne
                If i <= 999 Then
                    Montableau(0, i) = C
                ElseIf i <= 1999 Then
                    Montableau(1, i - 1000) = C
                ElseIf i <= 2999 Then
                    Montableau(2, i - 2000) = C
                ElseIf i <= 3999 Then
                    Montableau(3, i - 3000) = C
                ElseIf i <= 4999 Then
                    Montableau(4, i - 4000) = C
                End If
                  
                i = i + 1
            End If
         Loop
        
        '***** Next i ***** explication plus haut
       
        For i = 0 To 999
            'concanénation des valeurs du tableau dans un chaine
            chaine = chaine & CStr(Montableau(0, i)) & ";" & CStr(Montableau(1, i)) & ";" _
                            & CStr(Montableau(2, i)) & ";" & CStr(Montableau(3, i)) & ";" _
                            & CStr(Montableau(4, i)) & vbCrLf
        Next i
    Close #1
'End If

'Text1.Text = chaine
'ecriture dans le nouveau fichier
Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFich = FSys.createtextfile("D:\Name.txt")
With MonFich
.writeline ("Num pts;U Alt; I Alt; % PID; U Exi;I Ext")
.writeline chaine
End With
End Sub

CNTJC
3
cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 1
16 mars 2009 à 00:55
Salut
L'erreur vient du test que tu fais
       If  0 <  i  <=  999 Then

Il doit être détaillé, comme suite:
       If  0  < =  i  And  i <=  999 Then

La proposition de [../auteur/PCPUNCH/8577.aspx pcpunch]est une autre façon de faire, qui traite toutes les colonnes

CNTJC
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
viclaudel Messages postés 13 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 19 mars 2009
16 mars 2009 à 22:45
Bonsoir, merci de m'avoir répondu. J'ai analysé ton code et j'ai compris le fonctionnent du tableau. Par contre j'ai essayé mais là rien de ne se passe. Il compile, il lit toutes les lignes. Il crée le nouveau fichier mais il n'y a rien.
Je vais encore regarder demain.
0
viclaudel Messages postés 13 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 19 mars 2009
16 mars 2009 à 22:48
oui j'ai essayé la méthode de puntch mais rien, je ne capture aucune donnée. Par contre d'avoir changer mais if là j'ai tout maintenant. Mais tout ce met sur une seule colonne dans mon nouveau fichier. Je n'arrive pas encore à séparer le tout.
0
viclaudel Messages postés 13 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 19 mars 2009
17 mars 2009 à 23:03
encore merci bon j'ai 2 colonnes maintenant mais je vais travailler pour avoir mes 5.
Peux m'explique la partie écriture, je pense comprendre que c'est pour gérer le tableau.

@+
0
viclaudel Messages postés 13 Date d'inscription dimanche 15 mars 2009 Statut Membre Dernière intervention 19 mars 2009
18 mars 2009 à 23:39
Super merci ça marche, les 2 façons j'ai aussi modifié l'autre code. Je commence à comprendre la logique des tableaux mais c'est pas évident. Les voilà dont un on je suis en train de rajouter les erreurs.
Je te remercie de ton aide.
*********************************Premier*************************************
Private Sub transfert_Click()
Dim ColA()
Dim ColB()
Dim ColC()
Dim ColD()
Dim ColE()
Dim ColF()
Dim Nb As Long
Nb = 1
Dim Temp As String

 Dim Nombre As String
'Recupération des données renseigner par l'opérateur
G_CheminFichier = TXT_Chemin_Fichier.Text
G_NomFichier = TXT_Nom_Fichier.Text
G_NomFichierText = TXT_Nom_Fichier_Texte.Text

'lecture, stockage, recup dans tableau
Open G_CheminFichier & G_NomFichier For Input As #1
    Do While Not EOF(1)
   
        Line Input #1, Temp
            'si la ligne commence par AT extraction des chiffre en ()
            If Mid(Temp, 1, 2) = "AT" Then
            'If Left(Temp, 2) = "AT" Then
                Dim PosDep As Integer
                Dim PosFin As Integer
                Dim t As Integer
               
               
              
                PosDep = InStr(1, Temp, "(", vbTextCompare)
                PosFin = InStr(PosDep, Temp, ")", vbTextCompare)
                Nombre = Mid(Temp, PosDep + 1, PosFin - PosDep - 1)
              
              
                If Nb = 1999 Then
                Dim toto As Integer
                toto = 1
                End If
               
                t = Nb
                Text1.Text = t
                   
                    Select Case Nb
                        Case 1 To 1000
                        ReDim Preserve ColA(Nb - 1)
                        ColA(Nb - 1) = Nombre
                       
                        Case 1001 To 2000
                        ReDim Preserve ColB(Nb - 1 - 1000)
                        ColB(Nb - 1 - 1000) = Nombre
                       
                        Case 2001 To 3000
                        ReDim Preserve ColC(Nb - 1 - 2000)
                        ColC(Nb - 1 - 2000) = Nombre
                       
                        Case 3001 To 4000
                        ReDim Preserve ColD(Nb - 1 - 3000)
                        ColD(Nb - 1 - 3000) = Nombre
                       
                        Case 4001 To 5000
                        ReDim Preserve ColE(Nb - 1 - 4000)
                        ColE(Nb - 1 - 4000) = Nombre
                       
                        Case 5001 To 6000
                        ReDim Preserve ColF(Nb - 1 - 5000)
                        ColF(Nb - 1 - 5000) = Nombre
                       
                    End Select
                   
                   
                    Nb = Nb + 1
                   
                End If
               
        Loop

Close #1

'Test de la valeur
Dim valeurLimite As Long
valeurLimite = UBound(ColA)
If (valeurLimite <> UBound(ColB)) Or (valeurLimite <> UBound(ColC)) Or _
(valeurLimite <> UBound(ColD)) Or (valeurLimite <> UBound(ColE)) Then
'Gestion erreur
 MSg = "Valeur pas valide"
MsgBox (MSg)
End
End If

'écriture du fichier dans nouveau fichier
Open ("D:\essai2.text") For Output As #1
    Print #1, ("Num pts;U Alt; I Alt; % PID; U Exi;I Ext")
   For i = 0 To UBound(ColA)
            On Error Resume Next 'au cas ou il y a pas 5000 entré d extraite du fichier

            Print #1, ColA(i) & ";" & ColB(i) & ";" & ColC(i) & ";" & ColD(i) & ";" & ColE(i) & ";"
        Next i
    Close #1

MSg = "fin"
MsgBox (MSg)

*******************************************Deuxième********************************

Dim Msg                     'message de réussite
Dim i, Mypo, Mypo2, NbCar As Integer
Dim C, ReadC   As String
Dim t, y As String
Dim Montableau(0 To 5, 0 To 999) As String
Dim chaine As Variant
Dim TailleFichierTexte, EcrasementFichier, ExistanceFichier As String     'renvoie la taille du fichier Texte
Dim TXT As String    'envoie l'extantion du fichier texte d'origine

'on récupére les données inscritent par l'utilisateur
G_CheminFichier = TXT_Chemin_Fichier.Text
G_NomFichier = TXT_Nom_Fichier.Text
G_NomFichierText = TXT_Nom_Fichier_Texte.Text

'vérification de lafin du fichier du chemin qui doit finir pa ""
'TailleFichierTexte = Trim(G_CheminFichier)
'TailleFichierTexte = Len(G_CheminFichier)

'Dans le cas ou rien n'est écrit on va au message erreur
'If TailleFichierTexte = "0" Then GoTo fin1
'TXT = Mid(G_CheminFichier, TailleFichierTexte)

'Si l 'extantion n'est pas correcte alors on arrete et on affiche un message d'erreur
    'If TXT <> "" Then GoTo fin2
   
' Verification que le fichier texte d'origine à une extantion .TXT ou .txt
    'TailleFichierTexte = Trim(G_NomFichier)
   ' TailleFichierTexte = Len(G_NomFichier)
   ' If TailleFichierTexte = "0" Then GoTo fin3
   ' TXT = Mid(G_NomFichier, TailleFichierTexte - 3)
   
'Si l'extantion n'est pas correcte alors on arrete et on affiche un message d'erreur
    'If TXT <> ".txt" And TXT <> ".TXT" Then GoTo fin4
   
   
'Si l'extantion n'est pas correcte alors on arrete et on affiche un message d'erreur
    'If TXT <> ".txt" And TXT <> ".TXT" And TXT <> ".dat" And TXT <> ".DAT" And TXT <> ".doc" And TXT <> ".DOC" Then GoTo fin2
   
    ' Verification que le fichier destination n'existe pas encore pour eviter d'ecraser des données
    'EcrasementFichier = Dir(G_CheminFichier & G_NomFichier)
   'If EcrasementFichier = G_NomFichierText Then GoTo fin6
   
    'ExistanceFichier = Dir(G_CheminFichier & G_NomFichier)
    'If ExistanceFichier = "" Then GoTo fin5
   
   
' Verication que le fichier texte de destination à une extantion .TXT ou .txt ou .DAT ou .dat ou .DOC ou .doc
   'TailleFichierTexte = Trim(G_NomFichierText)
   'TailleFichierTexte = Len(G_NomFichierText)
   'If TailleFichierTexte = "0" Then GoTo fin3
   'TXT = Mid(G_NomFichierText, TailleFichierTexte - 3)
   

'Lecture
If G_NomFichier <> "" Then

    'ouverture du fichier source
    Open G_CheminFichier + G_NomFichier For Input As #1
  
'boucle sur 5000 lignes
i = 0
Do While i < 5000
 'gestion d'erreur si moins de 5000 lignes
 On Error Resume Next
       

        Line Input #1, ReadC
    
    
            If Err.Number <> 0 Then
            Err.Clear
            Exit Do
            End If

                'extraction de la valeur
        
                If Left(ReadC, 2) = "AT" Then
              
                Mypo = InStr(1, ReadC, "(")
                Mypo2 = InStr(1, ReadC, ")")
                NbCar = Mypo2 - Mypo
               C = Mid(ReadC, Mypo + 1, NbCar - 1)
               
               
                    'mise de la valeur dans un tableau en fonction du numéro de la ligne
                   If i <= 999 Then
                   Montableau(0, i) = C
                   ElseIf i <= 1999 Then
                   Montableau(1, i - 1000) = C
                   ElseIf i <= 2999 Then
                   Montableau(2, i - 2000) = C
                   ElseIf i <= 3999 Then
                   Montableau(3, i - 3000) = C
                   ElseIf i <= 4999 Then
                   Montableau(4, i - 4000) = C
                   End If
                  
              'comptage du nombre valeurs extraite et affichage
                i = i + 1
                t = i
                Text3.Text = t
               
               End If
              
    Loop
                   
                   
                   
   For i = 0 To 999 'conétation des valeurs du tableau dans une chaine
                   
    chaine = chaine & CStr(Montableau(0, i)) & ";" & CStr(Montableau(1, i)) & ";" & CStr(Montableau(2, i)) & ";" & CStr(Montableau(3, i)) & ";" & CStr(Montableau(4, i)) & vbCrLf
 
   Next i
  
Close #1

Text1.Text = chaine
'ecriture dans le nouveau fichier
 Open ("D:\Name.text") For Output As #1
 
 Print #1, ("Num pts;U Alt; I Alt; % PID; U Exi;I Ext")
 Print #1, chaine
 
 Close #1
           
End If

 

Msg = ("FIN")
MsgBox (Msg)

fin1:
MsgBox "Veuillez entrer le chemin du fichier d'origine"
  Command1.Enabled = True
Exit Sub

fin2:
MsgBox "Le chemin doit finir par le caractère \  , Exemple:   C:\Program Files\  "
    Command1.Enabled = True
Exit Sub

fin3:
MsgBox "Veuillez entrer le nom du fichier d'origine"
    Command1.Enabled = True
Exit Sub

fin4:
MsgBox " Le nom du fichier saisi dans le champ 'Nom du fichier source .TXT' est faux, veuillez saisir par exemple 'essai.txt'"
    Command1.Enabled = True
Exit Sub

fin5:
MsgBox "AucunFichier"
    Command1.Enabled = True
Exit Sub

fin6:
MsgBox "EcrasementFichier"
    Command1.Enabled = True
Exit Sub

@+CV
0
Rejoignez-nous