cs_steed12
Messages postés25Date d'inscriptionmardi 4 janvier 2005StatutMembreDernière intervention 9 janvier 2006
-
7 janv. 2006 à 00:20
cs_steed12
Messages postés25Date d'inscriptionmardi 4 janvier 2005StatutMembreDernière intervention 9 janvier 2006
-
9 janv. 2006 à 22:53
Boujour à tous, voilas j'ai un fichier txt qui doit avoir au moins
100000 carractère et je voudrait l'ouvrir sous excel en le coupant
comme je veux.
exemple : je voudrais que tout les 564 carractère il passe à la céllule de ligne suivante lors de l'import du txt.
Tout sa doit etre fait en vba mais j'avoue que je ne trouve pas. J'ai
essayé d'ouvrir le txt avec excel mais le problème est que lorsque je
choisie ou mettre les séparateurs, le fichier texte est sur une seule
ligne.
Je sais pas si c'est très compréhensible mais bon.
P.S.: je ne veux pas a avoir à modifier le txt en plus.
Merci d'avance à la personne qui pourra m'orienté.
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 7 janv. 2006 à 02:46
Bonsoir,
De quelle forme est le contenu de ton fichier texte ?
Est-ce simplement une chaine de caractères de 10000xxx caractères ? est-ce séparé par des ;,:/... ? par des retours à la ligne ?
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 7 janv. 2006 à 12:19
Moi je crois qu'il n'a aucun séparateurs et que tout est d'une traite!
La question primordiale est : Y'a-t-il, dans ton texte, des caractères "," ou ";" ???
Autrement dit : De quoi n'est pas composé ton texte (j'ai bien dit "n'est pas") ?
Car, en effet, on va devoir insérer des caractères séparateurs dans ton fichier d'origine. Du coup, évidemment, il ne faut pas que ces caractères soient déjà existants!!!
Mais bon, le plus simple (d'où la question de Willi) serait d'ajouter des retours chariot (retour à la ligne si tu préfères) dans ce fichier car Excel considérera qu'il s'agit d'une nouvelle ligne et donc, le mettra dans la cellule en dessous.
En fait, la technique consiste à importer (ouvrir, si tu préfères) ton fichier "brut" dans Excel. Excel reconnait plusieurs types de fichiers et est capable d'ouvrir les fichiers qui n'ont pas vraiment de standard... mais avec quelques conditions. Les fichiers de ce "non-type" sont considérés comme étant des fichiers de type "CSV". Excel, lorsqu'il va tenter de les ouvrir va également tenter (puisque c'est son rôle et que l'utilisateur est sensé savoir ce qu'il fait) de les comprendre... C'est à dire qu'il considère que ces fichiers, puisque l'utilisateur veux absolument les ouvrir par Excel, sont des tableaux. Il va donc tenter de retrouver leur structure. Tout tableau a des lignes, des cellules, des colonnes, ... Excel est donc très bien fait de ce coté là. Mais tous ces éléments (les cellules) sont généralement séparés dans les fichiers (en fait, ils doivent l'être sinon Excel ne peut pas retrouver leur structure).
Les séparateurs classiques sont :
- le caractère de tabulation et/ou une tabulation via des espaces [nombre d'espaces réguliers];
- la virgule;
- le point-virgule;
- un retour à la ligne (pour séparer les lignes de cellules).
Les colonnes sont donc déduites de fait !
Il va donc falloir modifier ton fichier de base de manière automatisé via le VB. Voilà pourquoi on a besoin de ces informations.
Mais je te rassure, rien de bien compliqué : un "Open", une boucle Do/Loop ou For/Next, un Mid$ et ce sera vite réglé.
Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
cs_LeGrosWinnie
Messages postés47Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention18 mai 2007 7 janv. 2006 à 14:47
Vous ne répondez pas à sa question, puisque justement lui ne veut PAS DEVOIR MODIFIER SON TEXTE.
Je ne sais pas si c'est faisable :
Accèder au fichier text via VB, stocker son contenue dans une variable String.
Et tous les X caractères insérer le caractere "retour chariot".
Et pour finir l'ouvrir avec excel qui va changer de cellule vers le bas a chaque retour chariot.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 7 janv. 2006 à 14:55
Cela est tout à fait faisable, il n'y a vraiment rien de compliqué.
Ce qu'ont demandent c'est de précisez la structure de son fichier texte pour pouvoir y répondre.....
Qui a parlé de modifier son texte ??
cs_LeGrosWinnie
Messages postés47Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention18 mai 2007 7 janv. 2006 à 16:24
"Ce qu'ont demandent c'est de précisez la structure de son fichier texte pour pouvoir y répondre....."
Imagine toi que c'est un extrait de roman et le tour est joué...
Si c'est un texte tout pres je ne vois pas l'interet de se faire chier avec du VB, suffit de faire clic droit ouvrir avec puis excel et y'a rien à faire.
"Le VB automatisera le procédé, c'est tout ! Mais son texte, de toute façon, il devra bien être un tantinet modifié !!!"
Justement, comment tu fais pour modifier un texte automatiquement grâce à VB ? Parce que si tu peux modifier un texte grace à VB ça revient à ce que moi je disais...
C'est comme si tu me demandais : "combien ça fait 1+1 ?" et moi je te réponds : "je connais la réponse"...Ca avance vachement tu trouves pas ???
On dirait pas que vous etes programmeur...moi au moins je laisse entrevoir une solution programmable...
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 7 janv. 2006 à 16:40
Oui mais c'est oublier le sujet de l'exercice !!! Je te le rappelle :
"... j'ai un fichier txt qui doit avoir au moins 100000 carractère et je voudrait l'ouvrir sous excel en le coupant comme je veux.
exemple : je voudrais que tout les 564 carractère il passe à la céllule de ligne suivante lors de l'import du txt.
Tout sa doit etre fait en vba mais j'avoue que je ne trouve pas.
"
Bref, on ne peut pas subodorer qu'il s'agisse d'un roman. Et quand bien même, est-ce que ce roman utilise des caractères ASCII particuliers ??? On n'en sait rien!
Moi, en tant que codeur, je me dois de subodorer que le texte n'est qu'une suite d'octets! D'où ma question : y'en aurait-il un qui ne soit pas utilisé afin de l'utiliser comme séparateur ?
Mais d'un autre coté on peu aussi s'imaginer ne pas passer par la méthode Open et ouvrir manuellement le fichier via l'instruction Open en mode binary par exemple...
Comme quoi, on est pas si fermé d'esprit que ça!!! Mais il nous manque un chouïa plus d'infos, c'est tout, pas de quoi en faire une patate!
Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )