IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB]Traiter un fichier avec EOF


Sujet :

VB 6 et antérieur

  1. #1
    lox
    lox est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 20
    Points
    20
    Par défaut [VB]Traiter un fichier avec EOF
    Bonjour tout le monde

    voila mon problème j'ai un fichier texte que j'ouvre avec le commande EOF qui marche bien!! Dans ce fichier texte je recherche la ligne commencant par [GPS] ca aussi ca marche mais maintenant où j'aimerai votre aide
    j'aimerai modifier les 5 prochaines lignes après la ligne contenant [GPS]. Peux-ton faire sauter 5 ligne à la compteur EOF ? et aussi peux-t-on savoir à quelle ligne il a trouver le mot [GPS]

    j'espère que mon explication est clair?? car c'est assez dur à expliquer comme ca !
    merci

  2. #2
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut Re: Traiter un fichier avec EOF
    Citation Envoyé par lox
    j'espère que mon explication est clair??
    Sans vouloir te vexer, pas trop en fait

    Mets nous un bout de code et essaie de reformuler ta question, stp
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  3. #3
    lox
    lox est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    oui je pensais bien

    en fait je dois changer 5 lignes d'un fichier texte, ce bloc de 5 ligne commencent par [GPS]. J'a donc utiliser la fonction EOF pour inserer le fichier ensuite je fait un recherche pour la ligne [GPS] et maintenant j'aimerai réecrir les 5 prochaines ligne et ensuite continuer la lecture à la suite de la modification. en fait j'aimerai remplacer les 5 lignes suivant l'indication GPS et non les rajouter

    Voila un bout de code
    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
    'tester le choix du fichier
    If CommonDialog1.FileName <> "" Then
        'ouvre le fichier
        Open CommonDialog1.FileName For Input As #1
     
           'faire une lecture de la première ligne et créer une boucle pour lire toutes les lignes
            Do Until EOF(1)
                Line Input #1, strLigneText
                'Cherche ligne commencant par [GPS]
                strcondition1 = InStr(strLigneText, "[GPS]")
     
            'gère le faite qu'il n'y à pas de [GPS]
            If strcondition1 = 0 Then
                strLignecorrigee = strLigneText
            else
     
            ' la il faut que je mette mes 5 ligne à remplacer
            'puis que je continue la lecture du fichier à la suite de celle ci
     
            End If
            Loop
        Else
           MsgBox "Aucun fichier sélectionné", vbCritical, "Warning"
     
    End If
    j'espère que tu peux m'aider !! Est ce que EOF est la bonne fonction existe il une fonction remplacer xxxx par yyyy

  4. #4
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Dans l'idée, c'est pas mal, sauf que tu ne peux pas écrire directement dans un fichier ouvert en lecture

    Questions complémentaires :

    ton fichier est long ?

    tu remplace 5 lignes pour 5 lignes ?

    peut-il y avoir un nombre de lignes incomplet ? (genre à la fin du fichier il n'y a que 3 lignes après GPS) ?
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  5. #5
    lox
    lox est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Mon fichier fait environ 60 lignes,

    en fait je remplace 5 lignes par 5 ligne en fait ce que je fais c'est de modifier les lignes

    non non la balise GPS et toujours suivi d'un nombre minimal de 5 lignes mais par contre il peut être à la fin du fichier.. mais toujours complet

    merci de tes réponse très rapide c'est cool

    je pensais recrer mes lignes avec une strLigneCorrigee

    et ensuite écrir avec la fonction print

  6. #6
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Le mieux est encore de créé un fichier modifié au fur est à mesure style :

    tu ouvres ton fichier en lecture(fichier1) et un nouveau en ecriture (fichier2)
    tant que tu ne trouves pas GPS (avec ta methode)dans fichier1, tu recopie les ligne dans fichier2
    lorsque tu trouve GPS, tu lis simplement 5 lignes dans fichier1 (en incrémentant une variable) et tu ecris tes 5 nouvelles lignes dans fichier2
    puis tu continues ta boucle

    Tu saisies l'idée :
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  7. #7
    lox
    lox est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    oui ça semble vraiment bien, mais je suis un peut larguer !!

    on peux faire ca avec la commande eof???

  8. #8
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Comprenons-nous bien

    EOF ne fait que te renvoyer un indicateur de fin de fichier, ET C'EST TOUT

    Je ne vois pas ce que tu veux lui faire faire d'autre
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  9. #9
    lox
    lox est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    A ok

    alors avec quelle fonction je dois faire pour effectuer l'opération d'écriture dans un fichier 2 et lire ligne après ligne le fichier 1. Pourrais tu m'éclairer encore un peut!

    merci d'avance pour ton aide

    en fait les deux fichiers doivent être les mêmes

  10. #10
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    tu as presque toutes les réponse dans ce que tu as toi même ecrit
    Dans les grandes lignes :
    pour lire tu as fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Open CommonDialog1.FileName For Input As #1 
            Do Until EOF(1) 
                Line Input #1, strLigneText
    pour ecrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Open "c:\nouveaufichier.txt"  For Output As #2
                Print #2, strLigneText
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  11. #11
    lox
    lox est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    ok je vais essayer merci de ton aide très pertinente et très rapide

  12. #12
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    "Pertinent" et "Rapide" sont les (respectivement) deuxième et troisième prénoms de Thierry Aim.

  13. #13
    lox
    lox est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Voilà j'ai écrit le code.. tout marche sauf un truc!!!

    quand j'effectue mon changement dans le fichier et que je relance la fonction pour écrir le reste du fichier
    'écrit le reste du fichier
    Do Until EOF(1)
    Line Input #1, strLigneText
    strToutcorrigee = strToutcorrigee + strLigneText & vbCrLf

    Il me réefface la modification, c'est normal car le curseur de la première boucle c'est arrêté à la ligne où la condition est respectée. Ensuite j'ai mis 4 ligne de texte (à l'aide des variable Geo04 et 98) et en relancant par la suite la fonction décrite ci haut, elle recommence au début du fichier et me réefface les modifications donc elle m'écrit exactement le même fichier qu'au commencement peut-on dire à la boucle de recommencer à la ligne après les modifications. :-)

    Voci mon code

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    Private Sub mnuOuvrir_Click()
     
    'Déclaration des variables
    Dim strLigneText As String
    Dim strToutText As String
    Dim strcondition1 As String
    Dim strLignecorrigee As String
    Dim msgbaox As Integer
    Dim strGeo98 As String
    Dim strGeo04 As String
     
    'Affectent les valeurs au variable pour les geoides
    strGeo98 = "****GeoidName=ETRF93(RPN2004)& vbCrLf& ****GeoidInterpolation = 0 & vbCrLf & GeoidName=ETRF93(RPN) & vbCrLf & GeoidInterpolation=1"
    strGeo04 = "GeoidName=ETRF93(RPN2004)" & vbCrLf & "GeoidInterpolation = 0" & vbCrLf & "****GeoidName=ETRF93(RPN)" & vbCrLf & "****GeoidInterpolation=1"
     
    'fiare le choix du fichier en utilisant commondialogue 1
    CommonDialog1.Filter = "Fichier configuration (*.ini)|*.ini" ' filtre les fichiers
    CommonDialog1.ShowOpen ' affiche la boite de dialogue
     
    'tester le choix du fichier
    If CommonDialog1.FileName <> "" Then
        'ouvre le fichier
        Open CommonDialog1.FileName For Input As #1
     
           'faire une lecture de la première ligne et créer une boucle pour lire toutes les lignes
            Do Until EOF(1)
                Line Input #1, strLigneText
                'Cherche ligne ****GeoidName=ETRF93 (RPN2004)
                strcondition1 = InStr(strLigneText, "****GeoidName=ETRF93(RPN2004)")
     
            'condition pour savoir avec quel geoide on travaille
            If strcondition1 <> 0 Then
               msgbaox = msgbox("Vous travaillez avec le géoïde 98, voulez-vous le convertir en 04", vbYesNo, "Information")
     
                If msgbaox = 6 Then
                ' permettant de passer au nouveau geoide à l'ade de la variable public strGeo04
                    strToutcorrigee = strToutcorrigee + strGeo04 & vbCrLf
                 msgbox strToutcorrigee
     
                  'écrit le reste du fichier
                   Do Until EOF(1)
                     Line Input #1, strLigneText
                      strToutcorrigee = strToutcorrigee + strLigneText & vbCrLf
               [size=18][color=red]    'C'  EST PAR ICI QUE CA JOUE PLUS IL ME RECOMMENCE TOUT LE FICHIER[/color][/size]               Loop
                   'ecrit dans le fichier c:\temp\penmap2.ini
                   Open "c:\temp\penmap2.ini" For Output As #2
                   Print #2, strToutcorrigee
     
                Else
                'sort de la procédure
                Exit Sub
              End If
            Else
                msgbox "Vous travaillez avec le géoïde 04", vbInformation, "Information"
           End If
          'fait les premières lignes
         strToutcorrigee = strToutcorrigee + strLigneText & vbCrLf
         Text1.Text = strToutcorrigee
      Loop
    Else
     
    msgbox "Aucun fichier sélectionné", vbCritical, "Warning"
     
    End If
     
    End Sub
    voici également mon fichier de base

    dfasd
    d
    a
    fas
    f
    asd
    fas
    d
    fdadddsdfasafd
    d
    fadasfagdaseqte

    sdafetqewqwr

    [GPS]
    simulation=0
    TBarCoords=1
    Passive=0
    GeoidName=ETRF93(RPN2004) '''paramètres à modifier
    GeoidInterpolation=0 '''paramètres à modifier
    ****GeoidName=ETRF93(RPN) '''paramètres à modifier
    ****GeoidInterplolation=1 '''paramètres à modifier

    dsfads
    fdas
    fas
    f
    asdf
    as
    df
    asfed
    asf
    asd
    f
    as
    fas
    d
    fin

    Merci d'avance

    David

  14. #14
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Comme tu as fait un gros effort, regarde ce qui suit, je dois pas être bien loin de la solution
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Private Sub mnuOuvrir_Click()
     
    'Déclaration des variables
        Dim strLigneText As String
        Dim strToutText As String
        Dim strGeo98 As String
        Dim strGeo04 As String
        Dim FF1 As Integer, FF2 As Integer, i As Integer
     
        'Affectent les valeurs au variable pour les geoides
        strGeo98 = "****GeoidName=ETRF93(RPN2004)" & vbCrLf & "****GeoidInterpolation = 0" _
                & vbCrLf & "GeoidName=ETRF93(RPN)" & vbCrLf & "GeoidInterpolation=1"
        strGeo04 = "GeoidName=ETRF93(RPN2004)" & vbCrLf & "GeoidInterpolation = 0" _
                & vbCrLf & "****GeoidName=ETRF93(RPN)" & vbCrLf & "****GeoidInterpolation=1"
     
        'fiare le choix du fichier en utilisant commondialogue 1
        CommonDialog1.Filter = "Fichier configuration (*.ini)|*.ini"    ' filtre les fichiers
        CommonDialog1.ShowOpen    ' affiche la boite de dialogue
     
        'tester le choix du fichier
        If CommonDialog1.FileName <> "" Then
            'ouvre le fichier
            FF1 = FreeFile
            Open CommonDialog1.FileName For Input As #FF1
            FF2 = FreeFile
            Open "c:\~temp\penmap2.ini" For Output As #FF2
     
            'faire une lecture de la première ligne et créer une boucle pour lire toutes les lignes
            Do Until EOF(1)
                Line Input #1, strLigneText
                'Cherche ligne ****GeoidName=ETRF93 (RPN2004)
                'condition pour savoir avec quel geoide on travaille
                If InStr(strLigneText, "****GeoidName=ETRF93(RPN2004)") <> 0 Then
                    If MsgBox("Vous travaillez avec le géoïde 98, voulez-vous le convertir en 04", vbYesNo, "Information") = vbYes Then
                        ' permettant de passer au nouveau geoide à l'ade de la variable public strGeo04
                        'sauter les lignes de l'ancien fichier
                        For i = 1 To 4
                            Line Input #1, strLigneText
                        Next
                        'ecrit dans le fichier c:\temp\penmap2.ini
                        Print #2, strGeo04
                    Else
                        MsgBox "Vous travaillez avec le géoïde 04", vbInformation, "Information"
                        Exit Do
                    End If
                Else
                    'ecrit dans le fichier c:\temp\penmap2.ini
                    'en attendant de savoir ce qu'il faut faire
                    Print #FF2, strLigneText
                End If
             Loop
            Close #FF1
            Close #FF2
        Else
            MsgBox "Aucun fichier sélectionné", vbCritical, "Warning"
        End If
     
    End Sub
    j'ai simplifié un petit peu pour m'y retrouver
    - il faut écrire toute les lignes dans le fichier 2 en attendant de savoir ce que l'opérateur veut faire (remplacer ou pas)
    - sauter les ligne du fichier 1 et ecrire les lignes modifiées
    - ecrire la fin du fichier

    a toi de continuer, bon courage
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  15. #15
    lox
    lox est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    trop trop cool

    merci beaucoup

    et une toute bonne journée

    je vais me mettre à fond dessus!

    c'est vrai que c'est histoire de fichier je débute un peut :-)

    merci

    david

  16. #16
    lox
    lox est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    bonjour tout le monde

    voilà mon code marche mais j'ai juste encore un problème c'est au niveau de l'enregistrement mon fichier #FF2 est écrit son c:\temp\penmap2.ini et a la fin du processus je veux enregistrer penmap2.ini sous le nom penmap.ini comment effectuer cette opération je connais que la fonction print mais le problème c'est que avec print on enregistre un variable et la j'aimerai enregistrer un fichier complet dans un autre

    voici mon code

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    'DÚclaration des variables
    Private Sub mnuOuvrir_Click()
        Dim strLigneText As String
        Dim strToutText As String
        Dim strGeo98 As String
        Dim strGeo04 As String
        Dim FF1 As Integer, FF2 As Integer, i As Integer
     
        'Affectent les valeurs au variable pour les geoides
        strGeo98 = "****GeoidName=ETRF93(RPN2004)" & vbCrLf & "****GeoidInterpolation = 0" _
                & vbCrLf & "GeoidName=ETRF93(RPN)" & vbCrLf & "GeoidInterpolation=1"
        strGeo04 = "GeoidName=ETRF93(RPN2004)" & vbCrLf & "GeoidInterpolation = 0" _
                & vbCrLf & "****GeoidName=ETRF93(RPN)" & vbCrLf & "****GeoidInterpolation=1"
     
        'fiare le choix du fichier en utilisant commondialogue 1
        CommonDialog1.Filter = "Fichier configuration (*.ini)|*.ini"    ' filtre les fichiers
        CommonDialog1.ShowOpen    ' affiche la boite de dialogue
     
        'tester le choix du fichier
        If CommonDialog1.FileName <> "" Then
            'ouvre le fichier
            FF1 = FreeFile
            Open CommonDialog1.FileName For Input As #FF1
            FF2 = FreeFile
            Open "c:\temp\penmap2.ini" For Output As #FF2
     
            'faire une lecture de la premiÞre ligne et crÚer une boucle pour lire toutes les lignes
            Do Until EOF(1)
                Line Input #1, strLigneText
                'Cherche ligne ****GeoidName=ETRF93 (RPN2004)
                'condition pour savoir avec quel geoide on travaille
                'test si on a le geoide 04
                If strLigneText = "****GeoidName=ETRF93(RPN2004)" Then
                    'test si on veux passer de 98 en 04
                    If MsgBox("Vous travaillez avec le gÚo´de 98, voulez-vous le convertir en 04", vbYesNo, _
                    "Information") = vbYes Then
                        ' permettant de passer au nouveau geoide Ó l'ade de la variable public strGeo04
                        'sauter les lignes de l'ancien fichier
                        For i = 1 To 4
                            Line Input #1, strLigneText
                        Next
                        'ecrit dans le fichier c:\temp\penmap2.ini
                        Print #2, strGeo04
                    Else
                        MsgBox "Aucune modification effectuÚes", vbInformation, "Information"
                        Exit Do
                    End If
     
                ElseIf strLigneText = "GeoidName=ETRF93(RPN2004)" Then
                    'test si on veux passer de 04 en 98
                     If MsgBox("Vous travaillez avec le gÚo´de 04, voulez-vous le convertir en 98", vbYesNo, _
                       "Information") = vbYes Then
                        For i = 1 To 4
                            Line Input #1, strLigneText
                        Next
                        'ecrit dans le fichier c:\temp\penmap2.ini
                        Print #2, strGeo98
                        'ecrit le reste du fichier
                     Else
                        MsgBox "Aucune modification effectuÚes", vbInformation, "Information"
                        Exit Do
                     End If
                 Else
                End If
              'ecrit dans le fichier c:\temp\penmap2.ini
              'permet d'Úcrire le dÚbut du fichier
              'en attendant de savoir ce qu'il faut faire
              Print #FF2, strLigneText
     
             Loop
         Close #FF1
         Close #FF2
     
     'choix du fichier pour enregistrer avant de convertir
      CommonDialog2.Filter = "Fichier configuration (*.ini)|*.ini"
      CommonDialog2.ShowSave
     
        'ouvre le fichier
       Open CommonDialog2.FileName For Output As #FF2
       ' c'est ici que moi plus comprendre
     
            Close #FF1
            Close #FF2
        Else
            MsgBox "Aucun fichier sÚlectionnÚ", vbCritical, "Warning"
        End If
     
    End Sub
    merci d'avance

  17. #17
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    'ouvre le fichier
    Open CommonDialog2.FileName For Output As #FF2
    ' c'est ici que moi plus comprendre
    1) Si le code dont tu t'es servi plus haut a été compris par toi, je ne comprends pas pourquoi tu ne comprends plus...
    2) s'il s'agit tout simplement de copier la totalité d'un fichier vers un autre, il y a, me semble-t-il, d'autres méthodes, parmi lesquelles FileCopy et Name
    L'aide en ligne te renseignera avec précision.

  18. #18
    lox
    lox est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    HA bien oui voilà la soluce filecopy !!! merci

    Bonne journée

Discussions similaires

  1. Traiter des fichiers avec des millions de lignes
    Par nice-one dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 22/04/2013, 12h03
  2. [DOM XML] Traiter un fichier avec script PHP ou XML?
    Par Siguillaume dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 19/02/2009, 17h42
  3. Traiter 100 fichiers avec une boucle sous VBA excel
    Par sebastien06 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/04/2008, 09h39
  4. traiter 2 fichier avec awk
    Par zcoul dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 11/03/2008, 18h28
  5. lire et traiter un fichier XML avec XMLDOM
    Par Phiss dans le forum ASP
    Réponses: 14
    Dernier message: 13/02/2007, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo