Menu

Excel : extraire une chaîne de caractère [Résolu/Fermé]

Messages postés
8
Date d'inscription
lundi 8 juin 2009
Statut
Membre
Dernière intervention
12 juin 2009
- - Dernière réponse : Krishnak59
Messages postés
120
Date d'inscription
mardi 3 janvier 2012
Statut
Membre
Dernière intervention
14 mai 2014
- 15 avril 2014 à 09:34
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.
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
15893
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
28 juin 2019
2765
8
Merci
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)))

Dire « Merci » 8

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 54966 internautes nous ont dit merci ce mois-ci

1
Merci
Bonjour,

J'ai un problème dans le même genre.
J'ai une liste de noms et numéros client (de type EU00387 ou VE00064) dans une même colonne et je dois déplacer d'une part la séquence de chiffres dans une autre colonne et d'autre part le préfixe en lettres dans une troisième colonne.
Je ne maitrise pas bien Excel, je voudrais donc une solution simple. Cependant, je ne peux pas "fractionner" la cellule de départ car je dois utiliser les colonnes prévues.

Pouvez-vous m'aider?

D'avance, un tout grand merci!
Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
3606
0
Merci
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.
Messages postés
8
Date d'inscription
lundi 8 juin 2009
Statut
Membre
Dernière intervention
12 juin 2009
0
Merci
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
Messages postés
15893
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
28 juin 2019
2765
0
Merci
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)....
Messages postés
8
Date d'inscription
lundi 8 juin 2009
Statut
Membre
Dernière intervention
12 juin 2009
0
Merci
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
Krishnak59
Messages postés
120
Date d'inscription
mardi 3 janvier 2012
Statut
Membre
Dernière intervention
14 mai 2014
35 -
Bonjour, j'ai réutilisé cette formule, mais je ne comprends pas son fonctionnement, quelqu'un pour m'expliquer ça ?