VB - Page 4
Résolu
Précédent
- 1
- 2
- 3
- 4
-
mais ça me donne pas ces trucs là att je change de poste et je reprend
-
-
-
OK compris le problème, j'arrange ça et je revient, tu me laisse quelque minutes quand même !!? :-D
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ok capitain...; je te laisse le ts qu'il faudra!! je t'assure que je sais plus comment te remercier!!
-
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
-
-
bon.. Pas trop long ?
Tu remplace toute la sub parPrivate 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+ -
Je comprend que tu soit impatiente mais faut laisser le temps au temps...
Ca se fait pas en un coup de cuill§re à pot. -
wooooooooooooooooooooooow toi t le meilleur!! permet moi de te dire chapeau!!!! je sais pas comment te remercier
vraiment chapeau!! les mots m'echappent -
faut supprimer d = "ENU"
ça sert à rien
A+ -
-
et ces 3 là aussi
'Open "E:\rabat3.txt" For Input As #ff
Debug.Print Contenu
Debug.Print Asc(Mid(Contenu, e, 1))
-
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 ??
-
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 -
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+ -
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
-
merciiiii lermite! là ca marche très bien!! t mon sauveur!!!
Précédent
- 1
- 2
- 3
- 4