VB - Page 4

Résolu
Précédent
  • 1
  • 2
  • 3
  • 4
  1. mya1 Messages postés 352 Statut Membre 42
     
    mais ça me donne pas ces trucs là att je change de poste et je reprend
    0
  2. mya1 Messages postés 352 Statut Membre 42
     
    voilà c'est fait chef
    0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    OK compris le problème, j'arrange ça et je revient, tu me laisse quelque minutes quand même !!? :-D
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. mya1 Messages postés 352 Statut Membre 42
     
    ok capitain...; je te laisse le ts qu'il faudra!! je t'assure que je sais plus comment te remercier!!
    0
  6. mya1 Messages postés 352 Statut Membre 42
     
    encore mon binome qui vx me créer des soucis av mon sauveur, dès que je me lève de la chaise elle commence à utiliser mon compte à gauche et à droite, fais po attention
    0
  7. mya1 Messages postés 352 Statut Membre 42
     
    alors mon sauveur? t'en es où?
    0
  8. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    bon.. Pas trop long ?
    Tu remplace toute la sub par
    Private Sub cmdTextEXCEL_Click()
    Dim EX As New Application
    Dim Book As Workbook
    Dim Feuille As Worksheet
    Dim i As Integer
    Dim ff As Integer
    Dim Contenu As String
    Dim TB1, TB2
    Dim s As String
    Dim P As Integer
    Dim d As String
    Dim e As Integer
    Dim T As Boolean
        ff = FreeFile
        Open "G:\stage\TextversEXCEL\rabat2.txt" For Input As #ff
        'Open "E:\rabat3.txt" For Input As #ff
        While Not EOF(ff)
            Line Input #ff, Contenu
            If Left(Contenu, 4) = " ENU" Then
                Contenu = Mid(Contenu, 2)
                GoSub MiseEnForme
                TB1 = Split(Contenu, " ")
                Line Input #ff, Contenu
                Contenu = Mid(Contenu, 2)
                GoSub MiseEnForme
                TB2 = Split(Contenu, " ")
                GoTo Fermer
            End If
        Wend
    Fermer:
        Close #ff
        d = "ENU"
        Set EX = CreateObject("Excel.application")
        EX.Visible = True
        Set Book = EX.Workbooks.Add
        Set Feuille = Book.Sheets(1)
        With Feuille
        For i = 0 To UBound(TB1)
            .Cells(1, i + 1) = TB1(i)
            .Cells(2, i + 1) = TB2(i)
        Next i
        End With
    Exit Sub
    MiseEnForme:
        e = 1
        While e < Len(Contenu)
            If Asc(Mid(Contenu, e, 1)) = 32 Then
                If Not T Then
                    T = True
                Else
                    Contenu = Left(Contenu, e - 1) & Mid(Contenu, e + 1)
                    Debug.Print Contenu
                    Debug.Print Asc(Mid(Contenu, e, 1))
                    e = e - 1
                End If
            Else
                T = False
            End If
            e = e + 1
        Wend
    Return
    End Sub

    A+
    0
  9. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Je comprend que tu soit impatiente mais faut laisser le temps au temps...
    Ca se fait pas en un coup de cuill§re à pot.
    0
  10. mya1 Messages postés 352 Statut Membre 42
     
    wooooooooooooooooooooooow toi t le meilleur!! permet moi de te dire chapeau!!!! je sais pas comment te remercier
    vraiment chapeau!! les mots m'echappent
    0
  11. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    faut supprimer d = "ENU"
    ça sert à rien
    A+
    0
  12. mya1 Messages postés 352 Statut Membre 42
     
    ok chef
    0
  13. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    et ces 3 là aussi

    'Open "E:\rabat3.txt" For Input As #ff

    Debug.Print Contenu
    Debug.Print Asc(Mid(Contenu, e, 1))
    0
  14. mya1 Messages postés 352 Statut Membre 42
     
    ok mon sauveur, en fait si par exemple le fichier que je possède contient bcp de ligne, par exemple comme le fichier ci joint https://www.cjoint.com/?jdqshuVEfT!! comment pourrai-je faire pr qu'il me copie tt le fichier ??
    0
  15. mya1 Messages postés 352 Statut Membre 42
     
    en fait j'ai trouvé une solution qui est comme suit:
    le code cherche le mot ENU c bon, là je vx lire le numéro de la ligne où se trouve ENU
    après on affecte cette valeur (c a d le numéro de la ligne) à une variable "j"(qu'on déclare as integer)
    après je compte le nombre des lignes du fichier à l'aide de strLigne qu'à son tour je l'affecte à une autre variable "nbr" (declarée comme integer), après je fais un for " l"(variable déclaré comme integer) l que je lui affecterai j to UBound(nbr)
    for l=j to UBound(nbr)
    et je commence à copier

    voilà l'algorithme!! px tu me ré-aider§?

    PS: je sais que j'abuse trop de ta gentillesse mais t'es mon sauveur :D
    0
  16. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    J'espère que t'a tout dit maintenant parce que c'est faire et refaire et refaire le boulot...
    Private Sub cmdTextEXCEL_Click()
    Dim EX As New Application
    Dim Book As Workbook
    Dim Feuille As Worksheet
    Dim i As Integer
    Dim ff As Integer
    Dim Contenu As String
    Dim TB
    Dim s As String
    Dim P As Integer
    Dim D As Boolean
    Dim e As Integer, Lig As Integer
    Dim T As Boolean
    
        Set EX = CreateObject("Excel.application")
        EX.Visible = True
        Set Book = EX.Workbooks.Add
        EX.ScreenUpdating = False
        
        Set Feuille = Book.Sheets(1)
        
        Lig = 1 ' Première ligne où mettre les données, peut être changer.
        'Mise en forme du tableau
        With Feuille
            With .Columns("A:AC")
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
            End With
            .Rows("1:1").Select
            Selection.RowHeight = 19.5
            With Selection
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
            End With
            With Selection.Font
                .Name = "Arial"
                .Size = 12
                .ColorIndex = 3
            End With
            
            With Selection.Interior
                .ColorIndex = 6
            End With
            
    
        End With
    
        ff = FreeFile
        Open "G:\stage\TextversEXCEL\rabat2.txt" For Input As #ff
        While Not EOF(ff)
            Line Input #ff, Contenu
            If Left(Contenu, 4) = " ENU" Then
                D = True
            End If
            If D Then
                If Len(Contenu) < 2 Then GoTo Fermer
                Contenu = Mid(Contenu, 2)
                GoSub MiseEnForme
                TB = Split(Contenu, " ")
                With Feuille
                    For i = 0 To UBound(TB)
                        .Cells(Lig, i + 1) = TB(i)
                    Next i
                End With
                Lig = Lig + 1
            End If
        Wend
    Fermer:
        Close #ff
        
        Range("A2").Select
        EX.ScreenUpdating = True
    Exit Sub
    MiseEnForme:
        e = 1
        While e < Len(Contenu)
            If Asc(Mid(Contenu, e, 1)) = 32 Then
                If Not T Then
                    T = True
                Else
                    Contenu = Left(Contenu, e - 1) & Mid(Contenu, e + 1)
                    e = e - 1
                End If
            Else
                T = False
            End If
            e = e + 1
        Wend
    Return
    End Sub

    A+
    0
  17. mya1 Messages postés 352 Statut Membre 42
     
    je ss vachement dsl lemrite!! mtn je ss sur un poste ou le VB n'est pas installé, une fois chez moi je le testerai et repardon!!! serieux je sais pas comment te remercier!! merci merci merci
    0
  18. mya1 Messages postés 352 Statut Membre 42
     
    merciiiii lermite! là ca marche très bien!! t mon sauveur!!!
    0
Précédent
  • 1
  • 2
  • 3
  • 4