Manip fichier texte

AsselusBorealiss Messages postés 79 Date d'inscription dimanche 15 octobre 2000 Statut Membre Dernière intervention 24 septembre 2007 - 2 janv. 2007 à 01:22
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 7 janv. 2007 à 15:31
Bonjour a tous



Dans un fichier texte J’ai des milliers de lignes avec le format suivant



43.36946, -1.77173, "du texte"



Et je ne voudrais pas les modifier a la mimine (+ de 6000 lignes)



Je voulais savoir si il y avait moyen en VB de créer une chtite appli



Qui une fois lancer



Edite le fichier et inverse la première série de chiffre avec la 2iem (toutes les lignes)



Exe :  av :  43.36946, -1.77173, "du texte"





      
 après : -1.77173, 43.36946, " du texte "




<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 


et le sauvegarde de nouveau dans un texte
merci assel





ps: si il y a une possibilité de prendre le contenu de chaque ligne et de le balancer dans un fichier Excel
sous 3 cellules  différente        serait le mieux

10 réponses

violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
2 janv. 2007 à 01:52
Violent Ken

Salut, alors je vais te dire comment copier tout çà sous Excel en trois colonnes :
1) tu remplaces toutes les ',' par des tabulations (d'abord faire une tabulation sous bloc notes et ensuite faire copier coller de la tabulation vers la textbox de la boite de dialogue 'Remplacer')
2) tout sélectionner
3) coller dans une cellule de Excel ==> normalement c'est bon (séparation en 3 colonnes)

@+
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
2 janv. 2007 à 11:15
Ou plus simple, tu ouvre directement le fichier avec Excel, il va lancer l'assistant d'importation.
- Etape 1 : tu choisi délimité
- Etape 2 : tu décoche tout puis tu coche virgule
- Etape 3 : tu sélectionne les 3 colonnes et tu choisi format texte, tu valide

Ton fichier est ouvert sous 3 colones
Tu sélectionne la colonne A, tu fait "couper"
Tu sélectionne la colonne C, click droit, tu choisit "inserer les cellules coupées"
Voila tes 2 colonnes sont inversées

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
AsselusBorealiss Messages postés 79 Date d'inscription dimanche 15 octobre 2000 Statut Membre Dernière intervention 24 septembre 2007
2 janv. 2007 à 16:51
Salut Casi ,  Violent Ken
Casi alors la Chapeau je me suis dis si je commence a la mimine fin 2007 j'aurais jamais fini
et la en 3 clicks Bingo
Nickels
mille merci
et bonne annee 2007 qui commence tres bien
a+
Assel
0
AsselusBorealiss Messages postés 79 Date d'inscription dimanche 15 octobre 2000 Statut Membre Dernière intervention 24 septembre 2007
3 janv. 2007 à 00:46
salut Casi
 je cherche un moyen pour numerote le contenu de mon fichier
pour reprendre l'exemple



-1.77173, 43.36946, " du texte "
je voudrais comme cela
du blable 1 dublabla(-1.77173, 43.36946, " du texte "
du blable 2 dublabla(-1.77173, 43.36946, " du texte "
du blable 3 dublabla(-1.77173, 43.36946, " du texte "
du blable 4 dublabla(-1.77173, 43.36946, " du texte "
du blable 5 dublabla(-1.77173, 43.36946, " du texte "

un idee (une boucle en visual basic  dans un fichier texte ou numerotation des lignes  personalisable dans Word (office2007)
merci
a+
assel

ps : mon fichier fait pas +6000 ligne...non il en fait +12000 :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
3 janv. 2007 à 08:59
Violent Ken

Salut, dans Excel, dans une nouvelle colonne, tappes "blabla 1" en face de la première ligne et "blabla 2" en face de la deuxième.
Ensuite, sélectionne les 2 lignes, puis pose le curseur de la souris dans le coin bas-droite du rectangle de la sélection (le curseur se transforme en croix), et "tire" la sélection vers le bas sans relacher le bouton de la souris.

Puis après collage dans un fichier texte de toutes les cellules.
Puis enregistrement en fichier *.csv (avec séparateur ';'), et remplacement sous bloc notes des ';' par des ','.

Ou bien un programme VB6 :




Private Sub Command1_Click()
Dim s As String
Dim lngFile As Long
Dim lngFile2 As Long
Dim x As Long
Dim s2 As String


    lngFile = FreeFile  'obtient un numéro valide
    lngFile2 = FreeFile + 1 'idem
    x = 0
   
    'ouvre en lecture
    Open "c:\documents and settings\admin\bureau\test.txt" For Input As lngFile
    'ouvre en écriture
    Open "c:\documents and settings\admin\bureau\test2.txt" For Append As lngFile2
   
    While Not EOF(lngFile)
   
        x = x + 1
       
        'obtient une ligne de texte
        Line Input #lngFile, s
       
        'écrit la ligne de texte avec le numéro
        s2 = "blabla" & CStr(x) & ", " & s
        Print #lngFile2, s2
       
        If (x Mod 500) = 0 Then DoEvents    'rend la main de temps en temps
   
    Wend
   
    Close lngFile
    Close lngFile2
   
End Sub




@+
0
AsselusBorealiss Messages postés 79 Date d'inscription dimanche 15 octobre 2000 Statut Membre Dernière intervention 24 septembre 2007
4 janv. 2007 à 12:44
Salut Violent Ken et merci
et voila comment modifier 12000 lignes en 2 secs

encore merci

ps : tu n'a pas une source sur la manipulation des fichiers sur VBF
0
Vianneyp Messages postés 82 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2010
7 janv. 2007 à 15:02
Bonjour tout le monde,
Je débute avec vb et j'ai un petit probléme...
Je souhaiterai ajouter une ligne a un fichier texte comme suit :

Dim intFNum As Integer
intFNum = FreeFile
Open App.Path + "\Fichier.txt" For Output As #intFNum
Print #intFNum, RichTextBox1.Text + "Linge a ajouter" //RTB1 contenant le fichier texte d'origine
Close intFNum

Ex : dans un fichiere texte il est écrit "Ligne1",je le charge dans la textebox (invisible) et je lui demande de passer une ligne puis d'ajouter ma ligne( RTB1 + vbNewLine + "Ligne a ajouter").
Mais a chaque fois,vb n'ecrit que "Ligne a ajouter".
Ou est le probléme ?
Merci d'avance
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
7 janv. 2007 à 15:10
Salut,

pose ta question ici : http://www.vbfrance.com/infomsg.aspx?ajout=1
Sinon, personne verra ta demande car c'est un topic d'il y a 5 jours.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 janv. 2007 à 15:23
Bonjour,

J'espère qu'il est capable de retrouber le sujet qu'il a ouvert...
Il lira alors qu'il est invité à voir ce que fait Open.... For Append
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
7 janv. 2007 à 15:31
S'il a l'alerte Mail, ça devrait être bon, sinon, il est bon pour se retaper entièrement son message

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
Rejoignez-nous