Probleme VB6 - Page 2

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. Contributeur
      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...
  2. donc il faut tester l'existance du fichier?
    1. Contributeur
      C'est plus propre et ça évite ce genre de problèmes :o)
  3. 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
    1. Contributeur
      Je n'ai pas saisi...
  4. 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)
    1. Re

      Autrement dit je voudrais automatisé l'exécution cad faire un programme pour un fichier et l'appliquer sur plusieurs fichier
      1. 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...
        1. 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
          1. re

            apparament il n'accepte pas for input et for output
            1. Lory,

              Exécute la macro telle que je te l'ai indiquée, sans rien changer.
          2. 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
            1. 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
              1. Bonjour forum

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

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

                merci
                Précédent
                • 1
                • 2