Extraire des données

Résolu
scoboy Messages postés 56 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 17 janvier 2008 - 6 juin 2006 à 09:43
scoboy Messages postés 56 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 17 janvier 2008 - 6 juin 2006 à 18:18
Bonjour à tous,
Dans mon programme (en vb6) je crée un fichier .text regroupant les valeurs d'un graphe, si on l'ouvre voici en gros ce qu'il pourrait afficher :

0
0
1
5
6
8
9
1
0
0

Je voulais savoir comment, par exemple, récupérer les données de "5" à "9" (et d'exclure toutes celles qui ne sont pas dans cette plage) pour ensuite les sauver avec le même aspect en un fichier .text

Merci d'avance 

5 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 juin 2006 à 14:50
salut,

presque rien à modifier....

Dim numFile         As Long 
Dim sTemp           As String 
Dim iCpt            As Integer 
Dim dSomme          As Double 

    numFile =  FreeFile 
    iCpt = 0 
    dSomme = 0 
    Open "C:\fichier.txt" For Input As #numFile 

        While Not  EOF (numFile) 
            iCpt  = iCpt + 1 
            Line Input #numFile, sTemp 
            'If Val(sTemp) > 4 And Val(sTemp) < 10 Then
            If (iCpt > 4) And (iCpt < 10) Then 
                Debug.Print sTemp 
                dSomme = dSomme + Val(sTemp) 
            End If 
        Wend 

    Close #numFile

<small> Coloration
syntaxique automatique [AFCK]</small>
       

++
PCPT   [AFCK]
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
6 juin 2006 à 10:30
Salut,

Voici la méthode :






Dim jePrendsLaDonnee As Boolean
Dim numFile As Long
Dim sTemp As String


numFile = FreeFile
Open "C:\fichier.txt" For Input As #numFile

While Not EOF(numFile)

    jePrendsLaDonnee = False

    Line Input#numFile, sTemp

    If Val(sTemp)>4 And Val(sTemp)<10 Then

       jePrendsLaDonnee = True

    End If

    If jePrendsLaDonnee=True Then

       '   Faire ce qu'il faut ici

    End If

Wend

Close #numFile





Manu


--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
0
scoboy Messages postés 56 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 17 janvier 2008
6 juin 2006 à 12:16
Merci manu pour ta réponse,

J'ai peut être pas été assez clair
En faites quand je disais : "récupérer les données de "5" à "9" (et d'exclure toutes celles qui ne sont pas dans cette plage)" c'était pour faire dans mon exemple

5       --> ligne 4 du fichier
6
8
9      --> ligne 7 du fichier

En gros si je rentre dans mon prog "ligne 4" et "ligne 7" le prog va me garder les valeurs comprises entre ses lignes. Et puis, tant qu'on y est, je voudrais qu'il me fasse la somme des chiffres qui ont été garder.

PS : quand j'écris ton code le prog va m'afficher 16 valeurs comprises entre 4 et 10
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 juin 2006 à 14:52
suivi d'un msgbox cstr(dSomme)
0

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

Posez votre question
scoboy Messages postés 56 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 17 janvier 2008
6 juin 2006 à 18:18
Salut et merci PCPT, ça marche nickel

Merci encore à vous 2
0
Rejoignez-nous