Rechercher : dans
Par :

Excel : extraire une chaîne de caractère

Dernière réponse le 8 jun 2009 à 19:22:55 NeSSuS, le 8 jun 2009 à 18:18:36 
 Signaler ce message aux modérateurs

Bonjour,

j'ai un petit problème excel,
j'ai des cellules comportant des chaîne de caractères tel que :

02-5
03-5/03-13
02-6
03-7/03-6
09-6
10-6/10-15
14-6
15-6
01-15/01-7
02-7
19-7/19-6
20-6/20-7
11-13
12-5/12-13
02-15

Bref, tous plus ou moins différent.
Ce que j'aimerai :
Dans le cas ou la cellule contient le caractère "/" , extraire dans une autre cellule (à droite de celle-ci) la chaîne de caractère à sa droite sans le "/" et supprimer dans la cellule de départ la chaîne copier ainsi que le "/".
En fait c'est comme si je faisait données/convertir, avec comme séparateur "/", mais je ne veut pas avoir a faire cette opération à chaque fois que je me sert de mon fichier.

petite précision, j'aimerai ne pas avoir a faire du vba, mais rester dans une bonne vieille formule.

Merci d'avance.

Meilleures réponses pour « Excel : extraire une chaîne de caractère » dans :
Supprimer un fichier contenant des caractères spéciaux VoirSi le fichier que vous souhaitez supprimer commence par un caractère "moins" (-), la commande rm risque de prendre la suite comme une option de la ligne de commande. Pour y remédier, une première solution consiste à faire précéder le nom du...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Javascript - L'objet String VoirLes particularités de l'objet String string est un mot anglais qui signifie "chaîne", il s'agit en fait de chaîne de caractères. L'objet String est un objet qui contient un certain nombre de propriétés et de méthodes permettant la manipulation...

1

michel_m, le 8 jun 2009 à 18:37:14

Bonjour

Et voici 2 bonnes vieilles formules bien de chez nous
pour la partie avant le /
=SI(CHERCHE("/";A2)>0;GAUCHE(A2;CHERCHE("/";A2)-1))
et pour après:
=SI(CHERCHE("/";A2)>0;DROITE(A2;NBCAR(A2)-CHERCHE("/";A2))) Cordialement, Michel

Répondre à michel_m

2

gbinforme, le 8 jun 2009 à 18:39:55

Bonjour

Dans le cas ou la cellule contient le caractère "/" , extraire dans une autre cellule (à droite de celle-ci)

tu peux utiliser avec ton texte en A1 :

=SI(ESTERREUR(TROUVE("/";A1));"";DROITE(A1;TROUVE("/";A1)+1))

supprimer dans la cellule de départ la chaîne copier ainsi que le "/". ..j'aimerai ne pas avoir a faire du vba

Et pourtant ce n'est pas possible sans VBA mais tu peux dans une autre colonne mettre cette formule

=SI(ESTERREUR(TROUVE("/";A1));"";GAUCHE(A1;TROUVE("/";A1)-1))

Tu peux aussi mettre une petite macro qui te fais cela à chaque modification d'une cellule.
Toujours zen

Répondre à gbinforme

3

NeSSuS, le 8 jun 2009 à 19:04:03

Michel, merci pour cette réponse, quelle rapidité...

le problème c'est que lorsque le caractère ne se trouve pas dans la cellule, il marque #valeur, comment faire pour éviter ca.

Merci

ps : dsl gbinforme, je n'ai pas était très précis en ne disant pas que si ce n'est pas la cellule de base qui est modifié mais recopier dans une autre c'était ok pour moi

Répondre à NeSSuS

4

michel_m, le 8 jun 2009 à 19:16:57

Bonjour gb

Nessus,
je croyais que "cherche" renvoyait 0 en l'absence du caractère cherché...
reprend le test de GB
ESTERREUR(TROUVE("/";A1))...
CHERCHE ou TROUVE sont équivalents dans ton problème (trouve est sensible à la casse)

pour la rapidité, j'avais à peu près le même qui trainait sur une étagère( sans le test) :o)....
Cordialement, Michel

Répondre à michel_m

5

 NeSSuS, le 8 jun 2009 à 19:22:55

Merci bcp a vous 2, problème résolu, formule finale :

avant :
=SI(ESTERREUR(TROUVE("/";A1));"";GAUCHE(A1;CHERCHE("/";A1)-1))
apres :
=SI(ESTERREUR(TROUVE("/";A1));"";DROITE(A1;NBCAR(A1)-CHERCHE("/";A1)))

bonne soirée a vous

Répondre à NeSSuS
Collection CommentÇaMarche.net