Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3675 connectés 

  FORUM HardWare.fr
  Windows & Software

  Séparateur de mots !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Séparateur de mots !

n°370484
eymeric
Posté le 13-09-2001 à 09:47:52  profilanswer
 

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

mood
Publicité
Posté le 13-09-2001 à 09:47:52  profilanswer
 

n°370558
eymeric
Posté le 13-09-2001 à 11:07:21  profilanswer
 

UP UP UP

n°370576
Requin
Posté le 13-09-2001 à 11:28:18  profilanswer
 

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).

n°370582
eymeric
Posté le 13-09-2001 à 11:31:35  profilanswer
 

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  :ouch: ! Peux-tu m'expliquer, ou peut-être m'écrire une patie de ce script stp  :jap:  :jap:  :jap:

n°370595
eymeric
Posté le 13-09-2001 à 11:38:59  profilanswer
 

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 !

n°370599
Bruce
Music 4 your ears!
Posté le 13-09-2001 à 11:43:38  profilanswer
 

:lol:
Non il parlais en code ASCII :)


---------------
A+++ Bruce - http://www.bheller.com
n°370600
Requin
Posté le 13-09-2001 à 11:43:48  profilanswer
 

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.

n°370612
eymeric
Posté le 13-09-2001 à 11:52:56  profilanswer
 

:cry:  :cry:  :cry:  :cry:  
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 !

n°370619
Bruce
Music 4 your ears!
Posté le 13-09-2001 à 11:57:23  profilanswer
 

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"...


---------------
A+++ Bruce - http://www.bheller.com
n°370620
boisorbe
Posté le 13-09-2001 à 11:57:24  profilanswer
 

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


---------------
"Tout ce que je sais c'est que je ne sais rien" Socrate
mood
Publicité
Posté le 13-09-2001 à 11:57:24  profilanswer
 

n°370623
Requin
Posté le 13-09-2001 à 11:59:45  profilanswer
 

Eymeric a écrit a écrit :

:cry:  :cry:  :cry:  :cry:  
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 ?

n°370632
eymeric
Posté le 13-09-2001 à 12:08:37  profilanswer
 

oui bien sûr !
 
C'est un script fait en quelques secondes...
mouais mouais mouais..!!!

n°370643
eymeric
Posté le 13-09-2001 à 12:27:21  profilanswer
 

Bon ben ........... :)  :)  :p  :hap:  :hap:  
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 !

n°370696
Requin
Posté le 13-09-2001 à 13:39:30  profilanswer
 

Pourtant ce n'est pas dur :
 

Code :
  1. ' --- BEGIN of FILE ---
  2.    ' file                : rspbychr.wsh (Replace Space by Carriage Return)
  3.    ' version             : 1.0
  4.    ' author              : Cédric Rathgeb
  5.    ' status of this file : public domain
  6.    ' description         : script to replace spaces by chars number 13 and 10.
  7.    '                       this script is very simple and without error checks
  8.    '                       or dialog boxes. You should edit the source and
  9.    '                       destination path
  10.    ' !!! EDIT !!!
  11.    strSource  = "C:\TEMP\monfichier.txt" ' source file
  12.    strDest    = "C:\TEMP\monfichier.csv" ' destination file
  13.    ' replace strings
  14.    strReplace = " "
  15.    strBy      = Chr(13) & Chr(10) ' (you may use vbCrLf constant instead)
  16.  
  17.    ' some constants
  18.    Const ForReading   = 1
  19.    Const ForWriting   = 2
  20.    Const ForAppending = 8
  21.  
  22.    Const TriDefault   = -2
  23.    Const TriTrue      = -1
  24.    Const TriFalse     = 0
  25.  
  26.    ' Create a file system object (FSO)
  27.    Set objFSO = CreateObject("Scripting.FileSystemObject" )
  28.  
  29.    ' Read the whole source file
  30.    Set objSourceFile = objFSO.OpenTextFile(strSource, ForReading, True)
  31.    Dim strContent
  32.    strContent = objSourceFile.ReadAll
  33.  
  34.    ' close the source file and free object from memory
  35.    objSourceFile.Close
  36.    Set objSourceFile = Nothing
  37.  
  38.    ' Replace content
  39.    intLenBefore = Len(strContent) ' for stats
  40.    strContent = Replace(strContent, strReplace, strBy)
  41.    intLenAfter = Len(strContent)  ' for stats
  42.  
  43.    ' Write the new file
  44.    Set objDestFile = objFSO.OpenTextFile(strDest, ForWriting, True, TriDefault)
  45.    objDestFile.Write(strContent)
  46.  
  47.    ' Close the destination file and free objects from memory
  48.    objDestFile.Close
  49.    Set objDestFile = Nothing
  50.    Set objFSO = Nothing
  51.  
  52.    ' Write a report
  53.    WScript.Echo "Operation is complete !"                                     &_
  54.                 vbCrLf                                                        &_
  55.                 vbCrLf                                                        &_
  56.                 "Source file is " & intLenBefore & " bytes wide"              &_
  57.                 vbCrLf                                                        &_
  58.                 "Destination file is " & intLenAfter & "bytes wide"
  59.  
  60.    ' --- END of FILE ---


 
Si jamais le source est dispo avec des fichiers d'exemple : http://www.rathgeb.org/files/rspbychr.zip

n°370699
Requin
Posté le 13-09-2001 à 13:41:46  profilanswer
 

Si ton OS est un peu vieux il se peut que tu doives mettre à jour Windows Scripting Host (WSH) http://www.microsoft.com/scripting/

n°370725
BettaSplen​dens
Tout cul tendu mérite son dû
Posté le 13-09-2001 à 14:06:03  profilanswer
 

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 !!!


---------------
Tout cul tendu mérite son dû
n°370727
eymeric
Posté le 13-09-2001 à 14:11:14  profilanswer
 

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.

n°370765
Requin
Posté le 13-09-2001 à 14:44:50  profilanswer
 

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).

n°370894
Requin
Posté le 13-09-2001 à 17:25:31  profilanswer
 

T'aime pas mon script fait en quelques secondes ou tu n'y capte quedalle ;) ?

n°370980
eymeric
Posté le 13-09-2001 à 18:35:51  profilanswer
 

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 !

n°371001
Requin
Posté le 13-09-2001 à 19:05:34  profilanswer
 

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"  :crazy:

n°371231
eymeric
Posté le 14-09-2001 à 09:04:39  profilanswer
 

' !!! 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

n°371238
Requin
Posté le 14-09-2001 à 09:14:19  profilanswer
 

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 :
  1. strContent = objSourceFile.ReadAll


 
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]

n°371244
eymeric
Posté le 14-09-2001 à 09:22:35  profilanswer
 

:eek2:  :eek2:  :eek2:  :eek2:  :eek2:  :eek2:  
Alors là !
Chapeau,
j'ai essayé un autre texte et là : :eek2:  impressionné ,bravo !
 
 
Si je voulais faire l'opération inverse, faut-il uniquement changer 13 et 10 ?

n°371248
Requin
Posté le 14-09-2001 à 09:31:36  profilanswer
 

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 :
  1. "le chien est beau!"


 
Tu peux concaténer plusieurs chaines avec un ET commercial (&), exemple :
 

Code :
  1. "le chien" & " est " & "beau!"


 
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 :
  1. "le chien" & Chr(13) & Chr(10) & "est beau!"


 
 
Pour répondre à ta question, il suffit d'inverser strReplace et strBy.
 
donc d'avoir les lignes suivantes :
 

Code :
  1. ' replace strings
  2.   strReplace = Chr(13) & Chr(10)
  3.   strBy      = " "


 
Dernier point il existe un raccourci pour les passages à la ligne : vbCrLf (visual basic carriage return line feed), donc tu pourrais écrire :
 

Code :
  1. ' replace strings
  2.   strReplace = vbCrLf
  3.   strBy      = " "


 
Et ce serait équivalent.

n°371254
Requin
Posté le 14-09-2001 à 09:40:51  profilanswer
 

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]

n°371261
eymeric
Posté le 14-09-2001 à 09:50:21  profilanswer
 

:eek2:  
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 !

n°371271
eymeric
Posté le 14-09-2001 à 10:05:29  profilanswer
 

Un petit truc, en récupérant ma colonne de mots clés en ligne, ils se retrouvent tous avec un ";" devant chaque mot !

n°371275
eymeric
Posté le 14-09-2001 à 10:12:46  profilanswer
 

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 ";" !

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software

  Séparateur de mots !

 

Sujets relatifs
Les mots de pass scripté et la sécurité (folders problem inside)SEARCH SOFT POUR MOTS DE PASS FICHIER RAR !!!
C' est quoi l' extension des mots de passe de log pour Win2k ??????problème de mots de passe internet et windows 2000
Comment faire retenir les mots de passe avec Internet Explorer ?Dans quel fichiers sont stockés les mots de pass sous win2000 ?
Plus de sujets relatifs à : Séparateur de mots !


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)