Quel logiciel/Quelle manip pour faire ceci?

Quel logiciel/Quelle manip pour faire ceci? - Logiciels - Windows & Software

Marsh Posté le 02-07-2004 à 23:33:26    

Bonsoir,
 
Je possède une liste excel (*.xls), d'environ 5000 phrases (ex : "Salut, ça va ?" ).  
Toutes les phrases sont suivi d'informations entre parenthèse (ex : "(Bienvenue)" ).
Ce que j'aimerais, ça serait enlever toutes les parenthèses (ainsi que leurs contenues) de toutes les phrases.
Je ne vois pas comment m'y prendre, à part le faire une par une, mais cela serait vraiment long.
Si quelqu'un a une petite idée...  
 
merci.


Message édité par cesoironvaenboite le 03-07-2004 à 04:08:14
Reply

Marsh Posté le 02-07-2004 à 23:33:26   

Reply

Marsh Posté le 02-07-2004 à 23:59:23    

fonction recherche & remplace dans excel
-tu remplace ( par un blanc
-puis meme chose pour )


Message édité par Tod le 03-07-2004 à 00:00:18
Reply

Marsh Posté le 03-07-2004 à 04:08:30    

Désolé, j'ai oublié de préciser "ainsi que leur contenu".

Reply

Marsh Posté le 03-07-2004 à 08:46:33    

1) Renseigne toi sur ce qu'est une expression régulière (cf. Google, "regular expression" ou "regexp" en anglais), car tu vas en avoir besoin (une fois appris à s'en servir tu verras c'est bien pratique)
 
2) Exporte ton fichier Excel en CSV (= fichier texte ou les champs sont séparés par des virgules, excel fait l'erreur de mettre des points-virgules)
 
3) Ouvre ce fichier avec n'importe quel éditeur de texte capable d'effectuer un remplacement par des expressions régulières et réalise ton remplacement.
 
4) Ouvre ton CSV modifié dans Excel et enregistre le au format XLS.

Reply

Marsh Posté le 03-07-2004 à 10:26:54    

Requin a écrit :

2) Exporte ton fichier Excel en CSV (= fichier texte ou les champs sont séparés par des virgules, excel fait l'erreur de mettre des points-virgules)


 
Non pas du tout, Excel se base sur les paramètres régionaux du PC tout simplement. En France, séparateur de champs = ";" et séparateur décimal = ",". Le CSV ayant été développé pour les formats US avec séparateur de champs = "," et décimal = "."
Il suffit de changer les paramètres régionaux avant de créer le CSV.
 
Sinon pour cesoironvaenboite, tu peux essayer d'utiliser la fonction "left$" d'excel. Je ne connais pas la syntaxe Excel mais qque chose comme A1=Left$(A2,"(" ) devrait te retourner tout ce qui se trouve à gauche du premier "(" dans ta string.


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
Reply

Marsh Posté le 03-07-2004 à 11:01:55    

Si complètement ! Excel fait une belle erreur !
 
CSV = Comma Separated Values ... et Comma = Virgule, pas point-virgule ! C'est un ds seuls logiciels qui pose vraiment problème pour les imports / exports en CSV.
 
En CSV peu importent les réglages régionaux il faudrait séparer par des virgules... mais on est plus à celà prêt avec Excel car entre les fonctions qui sont traduites et diverses incompatibilités d'une langue à l'autre il y a de quoi faire.

Reply

Marsh Posté le 03-07-2004 à 15:15:36    

Tout d'abord, merci pour vos réponses. :love:  
 
Je me suis renseigné sur commentcamarche.net pour les expressions régulières. (http://www.commentcamarche.net/php/phpreg.php3)
 
Donc, normalement, je fais cela :
"^chaîne$": chaîne qui commence et se termine par "chaîne"
Mais les parenthèses étant "des caractères spéciaux", je n'ai pas tout saisi avec les slashs.
 
Sinon, wordpad accepte-il le remplacement de chaine régulière ?

Reply

Marsh Posté le 03-07-2004 à 16:31:36    

Il faut échapper le caractère... \( ou \)

Reply

Marsh Posté le 03-07-2004 à 16:48:42    

ce qui donne ça : "\^()$" ?
 
(Sinon, wordpad accepte-il le remplacement de chaine régulière ?)

Reply

Marsh Posté le 03-07-2004 à 21:43:07    

t'aurais unix ça se ferait en une ligne

Reply

Marsh Posté le 03-07-2004 à 21:43:07   

Reply

Marsh Posté le 03-07-2004 à 22:08:49    

salut.
J'ai peut-être un solution excel.
Mais avant peut-il y avoir des paranthèses sur la partie "Salut, ça va ?" de tes lignes.

Reply

Marsh Posté le 04-07-2004 à 01:51:09    

menet a écrit :

salut.
J'ai peut-être un solution excel.
Mais avant peut-il y avoir des paranthèses sur la partie "Salut, ça va ?" de tes lignes.


 
Pour certains lignes, oui :whistle:  :whistle:  
Je ne l'ai pas précisé, car ça doit encore plus compliqué les choses. Certes, j'aimerais bien qu'elle reste, mais si elles doivent partir, elles partirons.

Reply

Marsh Posté le 04-07-2004 à 07:59:14    

[citation=1628353,0,7][nom]
Sinon, wordpad accepte-il le remplacement de chaine régulière ?[/citation]
 
Pas à ma conaissance... et pourtant MS dispose d'un objet COM regexp.
 
Dans Cygwin ( http://cygwin.com/ , port d'utilitaires UNIX sous Windows ) tu trouves grep, vim et xemacs... le premier est un utilitaire ligne de commande, le deuxièpme est un éditeur de texte assez spartiate (mais franchement puissant dès que tu commences à avoir les commandes dans les pattes), le troisième est bien connu des programmeur et est assez souvent utilisé pour coder... tous trois proposent des remplacements par expressions régulières.
 
Un petit conseil entraîne toi à faire quelques remplacements simples (genre remplacer une lettre par une autre ou un mot par un autre) avant de te lancer dans ce qui t'es directement utile ;)


Message édité par Requin le 04-07-2004 à 08:00:51
Reply

Marsh Posté le 05-07-2004 à 15:45:03    

On va voir ça alors.
Merci requin.
Sinon menet quelle est ta solution ?

Reply

Marsh Posté le 05-07-2004 à 15:47:52    

tu peux nous mettre 3 lignes complètes tirées de ton fichier ?
@++

Reply

Marsh Posté le 05-07-2004 à 18:35:19    

bin si tes phrases sont dans la colonne A, tu peux taper en B1 :
 
=CHERCHE("(";A1)
 
qui va te chercher la position de la parenthèse d'ouverture
 
puis en C1 :
=GAUCHE(A1;B1-1)
 
qui va extraire de A1 tout la partie de la phrase qui se trouve avant la parenthèse
 
bien sûr, tu peux tout mettre sur la même cellule :
=GAUCHE(A1;CHERCHE("(";A1)-1)
 
tu n'as plus qu'à dérouler pour appliquer ça à tout ton fichier...

Reply

Marsh Posté le 08-07-2004 à 11:49:44    

"merci", ça ne fait jamais de mal...

Reply

Marsh Posté le 10-07-2004 à 21:56:25    

merci bien minikisscool.  :love:  
J'ai utilisé ta technique ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed