VB - Page 4

Résolu
  1. mais ça me donne pas ces trucs là att je change de poste et je reprend
    1. Contributeur
      OK compris le problème, j'arrange ça et je revient, tu me laisse quelque minutes quand même !!? :-D
      1. ok capitain...; je te laisse le ts qu'il faudra!! je t'assure que je sais plus comment te remercier!!
        1. 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
          1. Contributeur
            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+
            1. Contributeur
              Je comprend que tu soit impatiente mais faut laisser le temps au temps...
              Ca se fait pas en un coup de cuill§re à pot.
              1. wooooooooooooooooooooooow toi t le meilleur!! permet moi de te dire chapeau!!!! je sais pas comment te remercier
                vraiment chapeau!! les mots m'echappent
                1. Contributeur
                  et ces 3 là aussi

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

                  Debug.Print Contenu
                  Debug.Print Asc(Mid(Contenu, e, 1))
                  1. 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
                    1. Contributeur
                      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+
                      1. 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
                        Précédent
                        • 1
                        • 2
                        • 3
                        • 4