| ||||||||
Astucien | Bonjour à tous je dispose d'office 2007 un petit pb pour les macroteurs : je récupère un fichier .txt qui est une suite de données séparées par des ; ces données correspondent à une personne tout les 15 ; mais il n'y a pas de retour à la ligne pour marquer le changement de personne donc excel importe tout dans les les 20 premières lignes de la colonne A et ensuite pour convertir les données en indiquant le ; comme séparateur ça ne permet pas d'avoir une ligne par personne
si qq'un a une idée ça me dépannerait grandement
merci | |||||||
Publicité | ||||||||
| ||||||||
Astucien | bonjour, Tu peux me balancer le Fichier texte (en MP si nécessaire.) A+ | |||||||
Astucien | Bonjour, Si je comprends bien , tu te retrouves avec x lignes qui ne peuvent plus être séparées en colonnes en l'absence de marqueurs du type ; et tu ne veux pas ( nombre important de données inscrire régulièrement des ";" aux emplacements. N'y a t-il pas , des données que tu pourrais remplacer en bloc avec la fonction rechercher / remplacer . Par ex , à la place de 25 rue .. remplacer 2 par ; 2 pour recréer un espace ?
| |||||||
Astucien | Bonjour, Un tout petit bout du fichier txt suffit avec seulement la fin d'une ligne et le début de la ligne suivante... L'idée étant de scanner le string et de remplacer le caractère inconnu par un retour ligne. A+ | |||||||
Astucien | Bonjour Galopin merci pour ton aide je te prépare le fichier et te donnerai le lien par MP : c'est fait à bientôt Modifié par usularrakis le 19/01/2010 12:33 | |||||||
Astucien | bonjour, Bon j'ai trouvé une manivelle (je ne suis pas un spécialiste de Word) Ouvrir le fichier text sous Word Exécuter la macro suivante : Sub Test() Enregistrer au Format Text. Le fichier peut maintennt être importé dans Excel (délimiteur ; ) Attention : Surveiller la fenêtre Word pendant l'exécution de la macro et interrompre avec Ctrl+Pause quand la macro ne trouve plus rien, car elle continue d'insérer des retour lignes... Supprimer les retour lignes en trop... Bon c'est que du dépannage hein... Pour une macro mieux ficelée voir du coté de Word... Quoique y doit y avoir moyen d'ouvrir une instance de Word sous. Mais mon problème est que je ne sais pas arrêter la macro en fin de fichier dans Word ! A+ | |||||||
Astucien | he he ! le galopin a encore frappé je m'en vais tester tout ça sur le fichier complet et j'te dis quoi
merci | |||||||
Astucien | attention ! Le curseur doit être Avant le premier caractère du fichier au début de la macro parce que sinon il va commencer à compter les ; à partir du point d'insertion ! tu aurais pu également insérer cette ligne au début de la macro pour être sur d'être sur la bonne ligne de départ... Selection.HomeKey Unit:=wdStory A+ Modifié par galopin01 le 19/01/2010 16:01 | |||||||
Astucien | ça marche impec mais tu as raison faut être vigilant pour arrêter la macro car sinon Word génère des pages blanches puis plante
d'ailleurs, comment on arrête une macro pendant son exécution ?
un très grand merci | |||||||
Astucien | usularrakis a écrit : Ctrl+Pause ! A+ | |||||||
Astucien | J'ai réussi à finaliser le truc pour qu'il s'arrête à la fin ! Sub Test() A+ | |||||||
Astucien | Je te sens dubitatif. Tu le veux directement sous Excel ? Allez c'est jour de fête. Tu mets ton fichier texte dans ton répertoire par défaut Excel et tu envoies ça : Sub test() Si tu le mets pas dans le bon répertoire indiquer le chemin sous la forme : Open "C:\Excel\Test.txt" A+ Nota : le fichier texte ne doit pas dépasser 32767 caractères (la démo en faisait 2400 env) Avec la participation de michdenis
Modifié par galopin01 le 19/01/2010 23:05 | |||||||
Astucien | galopin01 a écrit : M'ENFIN !
bon ceci dit , ta macro modifiée sous word ne s'arrête toujours pas elle s'exécute correctement puis tourne sans fin. le débogage met Next en surbrillance : Selection.Find.Execute
pour la macro sous excel je te remercie d'avoir bossé dessus. effectivement ça serait plus rapide mais si la limite est de 32000 caractères c'est dommage car j'en ai au minimum 700 000 ! pour info : je l'ai quand même testée sur un fichier réduit à 22 000 caractères et ça plante j'ai le message "erreur de compilation / erreur de syntaxe" et While i > 0 qui est en rouge dans le VBE
mais la macro sous word et Ctrl+ Pause me conviennent amplement
merci encore pour ton aide et le temps passé dessus à bientôt
| |||||||
Astucien | ben ça c'est pas ordinaire, car tu penses bien que j'ai testé etretesté tout ça avant de le mettre en ligne... Je revérifierai ce soir. | |||||||
Astucien | te bile pas Galopin, ce n'est pas gênant pour l'usage que j'en ai (vive le Ctrl+Pause )
de plus, on (gbinform et eriiic, merci à eux aussi) m'a par ailleurs proposé ceci pour excel :
je l'ai testée, elle fonctionne qu'en penses-tu ? | |||||||
Astucien | Très bien... Mais j'ai retesté les miennes et elles ne produisent pas de bogue. Tu travailles avec quoi 95, OpenOffice, Multiplan ??? A+ Modifié par galopin01 le 21/01/2010 11:28 | |||||||
Astucien | non avec Office 2007 comme indiqué dans mon message initial et j'ai fait un simple copier coller de ton script dans un module et indiqué le chemin du fichier | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|