Probleme VB6 - Page 2

Précédent
  • 1
  • 2
  1. lory
     
    j'ai un autre probléme

    si le nombre de fichier est inférieur a index(while index<501), il m'affiche une erreur comme

    t'as pas une idée
    0
    1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
       
      Whle index<501 AND Fichier+index existe), tu dois avoir le moyen de faire ça, je ne sais plus bien comment mais il y a forcément un moyen...
      0
  2. lory
     
    donc il faut tester l'existance du fichier?
    0
    1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
       
      C'est plus propre et ça évite ce genre de problèmes :o)
      0
  3. lory
     
    salut Teebo

    est t'il pas plus facile d'automatiser ces opérations en récupérant l'argument de la ligne de commande dans une variable Command$
    Si l'on lance
    MonProg toto.log
    dans MonProg, la variable Command$ contiendra "toto.log".
    cela permettra de traiter tous les fichier.log se trouvant dans le répertoir
    0
    1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
       
      Je n'ai pas saisi...
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Lory
     
    Re

    je voudrais dire creer un exécutable qui porte le nom parexemple
    (exo)
    exo fichier1.txt
    exo fichier2.txt
    ....................
    ....................

    à chaque fichier on recupére son argument et puis exécuté

    comme en C main(arg1,arg2)
    0
  6. lory
     
    Re

    Autrement dit je voudrais automatisé l'exécution cad faire un programme pour un fichier et l'appliquer sur plusieurs fichier
    0
  7. Armojax Messages postés 1863 Date d'inscription   Statut Membre Dernière intervention   1 529
     
    Hello lory,

    Après quelques jours d'éclipse... as-tu résolu ton PB ?
    En fait, ce que tu veux, c'est copier tous les fichiers textes de "C:" qui s'appellent FichierN, et que les copies s'appellent RfichierN.

    Essaie cette petite chose ci-dessous :
    Sub ManieFic()
        
        Set Fso = CreateObject("Scripting.FileSystemObject")
        Set Dossier = Fso.GetFolder("C:\")
        Set Fichiers = Dossier.Files
    
        For Each fic In Fichiers
            If Left(fic.Name, 7) = "Fichier" _
            And Right(fic.Name, 4) = ".txt" Then
            index = Mid(fic.Name, 8, 1)
                Fso.CopyFile fic, "C:\Rfichier" & index & ".txt"
           End If
        Next
            
    End Sub
    Tous tes fichiers de C: correspondant au critère de nom sont copiés en RFichier...
    0
  8. lory
     
    bonjour Armojax et forum

    Non j'ai pas encore régler le probléme; mais je crois que le programme que tu m'as proposé reglera le probléme

    mais est ce que à la place de

    Fso.CopyFile fic, "C:\Rfichier" & index & ".txt"

    on peut mettre

    Fso.openFile fic, "C:\Rfichier" & index & ".txt" for input as #1
    Fso.openFile fic, "C:\Rfichier" & index & ".txt" for output as #2

    dans tous les cas je vais tester.

    merci pour ton aide
    0
  9. lory
     
    re

    apparament il n'accepte pas for input et for output
    0
    1. Armojax Messages postés 1863 Date d'inscription   Statut Membre Dernière intervention   1 529
       
      Lory,

      Exécute la macro telle que je te l'ai indiquée, sans rien changer.
      0
  10. lory
     
    Re

    oui ca marche ton programme mais je voudrais l'adapter a ce que j'ai commencé.c'est pourquoi je t'ai poser la question du fso.open

    Private sub command1_click()
    Dim nligne As Integer
    Dim ndata As Integer
    Dim cp As Integer
    Dim moyenne1 As Double
    Dim moyenne2 As Double
    Dim moyenne1() As Double
    ReDim moyenne1(1 To N)
    Dim moyenne2() As Double
    ReDim moyenne2(1 To N)
    Dim tab1(1 To 100) As Double
    Dim tab2(1 To 100) As Double
    Dim var1, var2, v1, v2, var3, var4 As Double
    Dim i As Integer
    Dim ligne As String

    N = Cint(Text1.Text)
    'Ouverture Fichier Source et Destination
    On Error GoTo Suite

    Open "C:Fichier.txt" For Input As #1
    Open "C:toto.txt" For Output As #2

    'Copie des 100 premiers lignes
    ndata = 1

    Do While ((Not EOF(1)) And (ndata <= 101))

    If (ndata = 1) Then
    'Line Input #1, v1
    Input #1, v1
    Write #2, v1
    ndata = ndata + 1

    Else

    Input #1, v1, v2
    Tab1(ndata) = v1
    Tab2(ndata) = v2
    Write #2, tab1(ndata), tab2(ndata)

    ndata = ndata + 1
    End If

    Loop

    nligne = Cint(Text1.Text)
    cp = ndata

    'Copie par groupe de N valeurs
    ' Puis calcul moyenne
    Do While (Not EOF(1))

    cp = cp + nligne
    i = 1
    Do While ((Not EOF(1)) And (ndata < cp))

    Input #1, var1, var2, var3, var4
    Moyenne1(i) = var1
    Moyenne2(i) = var2

    ndata = ndata + 1
    i = i + 1
    Loop

    Moyenne1 = 0
    Moyenne2 = 0

    For i = 1 To Cint(Text1.Text)
    Moyenne1 = moyenne1+ moyenne1(i)
    Moyenne2 = moyenne2 + moyenne2(i)
    Next i

    Moyenne1 = (moyenne1 / Cint(Text1.Text))
    Moyenne2 = (moyenne2 / Cint(Text1.Text))

    Write #2, moyenne1, moyenne2

    Loop

    Close #1
    Close #2

    Suite:
    End Sub

    Private Sub Text1_Change()
    If Text1.Text <> "" Then
    Text1.Text = Cint(Text1.Text)
    End If

    End Sub
    0
  11. lory
     
    re

    il faut remplacé

    Open "C:Fichier.txt" For Input As #1
    Open "C:toto.txt" For Output As #2

    par

    Open "C:\Fichier" & index & ".txt" For Input As #1
    Open "C:\Rfichier" & index & ".txt" For Output As #2
    0
  12. lory
     
    Bonjour forum

    j'ai pas encore régler mon probléme

    est ce que quelqu'un a une idée svp

    merci
    0
Précédent
  • 1
  • 2