Séparateur de mots ! - Windows & Software
Marsh Posté le 13-09-2001 à 11:28:18
C'est un script fait en quelques secondes...
Il suffit de remplacer les espaces de ta chaîne de caractères par un caractère 13 suivi d'un caractère 10 (retour chariot), de sauver le fichier avec l'extension *.csv et ensuite de l'ouvrir avec Excel (si tu as plusieures colonnes il suffit de mettre une virgule pour séparer les colonnes et un retour chariot pour séparer les lignes).
Marsh Posté le 13-09-2001 à 11:31:35
Requin a écrit a écrit : C'est un script fait en quelques secondes... Il suffit de remplacer les espaces de ta chaîne de caractères par un caractère 13 suivi d'un caractère 10 (retour chariot), de sauver le fichier avec l'extension *.csv et ensuite de l'ouvrir avec Excel (si tu as plusieures colonnes il suffit de mettre une virgule pour séparer les colonnes et un retour chariot pour séparer les lignes). |
Aïh Aïh, excuses mais j'ai pas tout compris ! Peux-tu m'expliquer, ou peut-être m'écrire une patie de ce script stp
Marsh Posté le 13-09-2001 à 11:38:59
je viens d'essayer avec ce que j'ai compris, j'ai entré un texte sur un page de Namowebeditor, j'ai édité la page et remmplacé les espaces par 13 et 10 !
enregistré en csv. Sous excel, je retrouve ma ligne de paragraphe dans une seule cellule avec 1310 entre chaque mot !
J'ai pas tout compris avec le 13 10 je crois !
Marsh Posté le 13-09-2001 à 11:43:38
ReplyMarsh Posté le 13-09-2001 à 11:43:48
Le 13 10
En fait les carctères ont tous un numéro quand tu appuie sur la touche "entrée" tu ajoute sous Windows le caractère numéro 13 (passage à la ligne) suivi du caractère numéro 10 (retour en début de ligne)
Une méthode qui peut marcher est de copier dans le presse papier un retour à la ligne (ouvre le bloc note, met un retour à la ligne et copie le avec Ctrl + C) et dnas la fonction remplacer par de ton éditeur de faire un Ctrl + V (coller), cr généralement si tu tape sur entrée ca te valide la boîte de dialogue.
Une autre solution est d'utiliser (ou créer par exemple avec Windows Scripting Host et FSO) un soft capable de remplacer un caractère par un autre (en fait deux autres)
Mais à part cela tu as compris le but de la substitution.
Marsh Posté le 13-09-2001 à 11:52:56
Ctrl c du retour à la ligne ne fonctionne pas, ça ne copie rien !
Avec quoi est-ce que je peux remplacer mes espaces ?
Remplacer :" " (OK) par : ? comment faire comprendre à cette fonction de remplacer par un code 13 ?
C'est pas si simple !
Marsh Posté le 13-09-2001 à 11:57:23
Sur PC tu as un truc bien pratique, tu peu tapper le code ASCII d'une touche en gardant la touche "Alt" enfoncée. Ainsi essaye de tapper "Alt+13" dans la case "remplacer par"...
Marsh Posté le 13-09-2001 à 11:57:24
tu mets ton texte dans un fichier texte et tu recuperes dans excel il va te proposer de recup les donnes et donc comme separateur l'espace et hop.
c'est pas tres automatise mais ca peut surement aider
Marsh Posté le 13-09-2001 à 11:59:45
Eymeric a écrit a écrit :![]() ![]() ![]() ![]() Ctrl c du retour à la ligne ne fonctionne pas, ça ne copie rien ! Avec quoi est-ce que je peux remplacer mes espaces ? Remplacer :" " (OK) par : ? comment faire comprendre à cette fonction de remplacer par un code 13 ? C'est pas si simple ! |
Le caractère de retour chariot n'est pas affichable et c'est probablement pour cela qu'il substitue par un '?' ... as-tu quand même essayé de clické sur OK ?
Marsh Posté le 13-09-2001 à 12:08:37
oui bien sûr !
C'est un script fait en quelques secondes...
mouais mouais mouais..!!!
Marsh Posté le 13-09-2001 à 12:27:21
Bon ben ...........
J'ai trouvé !!!
Dans mon editeur, j'ai simplement remplacé les espaces par : </p><p> Et enregistré en csv (texte)!! et ça marche !
Merci pour votre aide !
Marsh Posté le 13-09-2001 à 13:39:30
Pourtant ce n'est pas dur :
Code :
|
Si jamais le source est dispo avec des fichiers d'exemple : http://www.rathgeb.org/files/rspbychr.zip
Marsh Posté le 13-09-2001 à 13:41:46
Si ton OS est un peu vieux il se peut que tu doives mettre à jour Windows Scripting Host (WSH) http://www.microsoft.com/scripting/
Marsh Posté le 13-09-2001 à 14:06:03
Ben sinon, tu fais un import sous Excel, avec tout ça dans une macro (VBA).. et tu fais en gros la même chose... recherché remplacer, ou bien " " comme séparateur de cellule, plus ensuite une petite réorganisation des cellules et ça roule !!!
Marsh Posté le 13-09-2001 à 14:11:14
BeTtASpLeNdEnS a écrit a écrit : Ben sinon, tu fais un import sous Excel, avec tout ça dans une macro (VBA).. et tu fais en gros la même chose... recherché remplacer, ou bien " " comme séparateur de cellule, plus ensuite une petite réorganisation des cellules et ça roule !!! |
Oui mais la je retrouve tout en ligne, cellules séparées mais en ligne. Donc pas de possibilité de faire de tri.
Marsh Posté le 13-09-2001 à 14:44:50
Eymeric a écrit a écrit : Oui mais la je retrouve tout en ligne, cellules séparées mais en ligne. Donc pas de possibilité de faire de tri. |
Si jamais dans Excel il est possible de faire un copier - collage spécial et de choisir de transposer les cellules (donc de copier qqch en ligne et de le coller en colonnes ou inversément).
Marsh Posté le 13-09-2001 à 17:25:31
T'aime pas mon script fait en quelques secondes ou tu n'y capte quedalle ?
Marsh Posté le 13-09-2001 à 18:35:51
Requin a écrit a écrit : T'aime pas mon script fait en quelques secondes ou tu n'y capte quedalle ![]() |
j'y capte relativement que dalle et j'ai trouvé la solution comme je l'ai écris avant ! avec </P> comme retour chariot et enregistrement en csv
ça fonctionne très bien !
Marsh Posté le 13-09-2001 à 19:05:34
Dommage
Un beau script avec toutes les options (et les commentaires) fait en quelques secondes (allez soyons honnêtes quelques minutes, mais vu qu'un minute est faite de secondes...)
Un jour ou tu auras des substitutions un peu barge il pourra etre utile ou tu regarderas du côté des "regular expressions"
Marsh Posté le 14-09-2001 à 09:04:39
' !!! EDIT !!!
strSource = "C:\TEMP\monfichier.txt" ' source file
strDest = "C:\TEMP\monfichier.csv" ' destination file
J'ai utilisé ces fichiers à ces emplacements, avec le texte à modifier dans C:\TEMP\monfichier.txt, j'ai double cliqué sur ton fichier et j' ai une erreur à chaque fois ! :
Script : c:\windows\bureau\rspbychr.vbs
Ligne : 34
Caract. : 4
Erreur : l'entrée dépasse la fin du fichier
Code : 800A003E
Source : Erreur d'execution Microsoft VBScript
Marsh Posté le 14-09-2001 à 09:14:19
Ligne 34 tu as la méthode qui lit l'intégralité du fichier et le transfert en mémoire dans une chaîne de caractère :
Code :
|
Le problème peut être du à un fichier texte qui serait mal terminé (il manque un End of File (EOF) pour signaler la fin du fichier). La il n'est pas possible d'apporter une correction si la source n'est pas correcte vu que c'est une fonction de FSO.
Sinon j'ai testé de mon côté avec le fichier texte fourni dans le ZIP et c'était bon j'ai bien eu le CSV (aussi dans le fichier ZIP).
Peux-tu m'envoyer ton fichier texte par email (requin@rathgeb.org) , je suis curieux de tester et ca me sera peut-etre utile plus tard si je tombe sur un problème de ce genre ?
[edtdd]--Message édité par Requin--[/edtdd]
Marsh Posté le 14-09-2001 à 09:22:35
Alors là !
Chapeau,
j'ai essayé un autre texte et là : impressionné ,bravo !
Si je voulais faire l'opération inverse, faut-il uniquement changer 13 et 10 ?
Marsh Posté le 14-09-2001 à 09:31:36
En fait tu as deux variables :
- strReplace = ce que tu veux remplacer
- strBy = ce par quoi tu veux remplacer
En VB les chaîne de caractère sont entre guillemets, exemple :
Code :
|
Tu peux concaténer plusieurs chaines avec un ET commercial (&), exemple :
Code :
|
Mais c'est surtout utile si tu utilise la fonction Chr() qui en fait insère un caractère via sont numéro, exemple :
Code :
|
Pour répondre à ta question, il suffit d'inverser strReplace et strBy.
donc d'avoir les lignes suivantes :
Code :
|
Dernier point il existe un raccourci pour les passages à la ligne : vbCrLf (visual basic carriage return line feed), donc tu pourrais écrire :
Code :
|
Et ce serait équivalent.
Marsh Posté le 14-09-2001 à 09:40:51
Ah et dernier points si tu cherches de la documentation sur les scripts Windows, car il est possible d'automatiser un bon nombre de tâches assez simplement (copie / déplacement / supression de fichiers ou dossiers, adminsitration de serveurs Windows 2000 / exchange 2000 (donc de Active Directory), envois automatiques d'email, interaction avec de nombreuses applications Windows et des des objets COM) il existe plusieurs documentations intéressantes :
http://msdn.microsoft.com/scripting/ (la tu trouve la dernière version de WSH ainsi que les références du langage et quelques exemples de scripts)
http://www.devguru.com/ (su ce site tu trouve un référence VBScript bien pratique et très claire)
Il existe bien d'autres sites qui traitent du sujet.
Sinon un excellent bouquin avec de nombreux exemples :
Windows 2000 Scripting Bible de William R. Stanek publié par IDG BOOKS Worlwide (ISBN 0764546775)
Il vaut vraiment le coup si tu souhaite automatiser certaines tâches sous Windows.
[edtdd]--Message édité par Requin--[/edtdd]
Marsh Posté le 14-09-2001 à 09:50:21
Rien à dire ! ça marche au poils dans les deux sens !
Si tu permets, je garde ton mail de coté si j'ai un nouveau problème !
Merci beaucoup !
Marsh Posté le 14-09-2001 à 10:05:29
Un petit truc, en récupérant ma colonne de mots clés en ligne, ils se retrouvent tous avec un ";" devant chaque mot !
Marsh Posté le 14-09-2001 à 10:12:46
Eymeric a écrit a écrit : Un petit truc, en récupérant ma colonne de mots clés en ligne, ils se retrouvent tous avec un ";" devant chaque mot ! |
Laisse tombé, c'est simplement parce que j'ai copié mes mots clés dans la deuxième colonne de excel ! Je pense que c'est parce qu'ils étaient dans cette colonne que j'ai récupéré des ";" !
Marsh Posté le 13-09-2001 à 09:47:52
Salut,
existe-t-il un log capable de séparer tous les mots d'un paragraphe et de les "coller" séparément dans un fichier excel ? cé à dire un mot pour une cellule. Cela me permettrait de sortir facilement des mots clé et de les recopier dans un moteur de recherche interne.
merci