[excel] chaine de caractères

Résolu/Fermé
ben2ar - 7 déc. 2006 à 14:57
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 - 3 déc. 2014 à 18:30
bonjour,

J'aimerai connaitre, sur Excel, la fonction qui permet d'extraire un mot dans une chaine de mots.

Exemple:
Ne garder que "douarnez" dans "OPHLM de douarnez"

Je sais qu'on peut extraire des caractères avec la fonction "droite"mais cette fonction de tient pas compte des mots, elle ne tient compte que du nombre de caractères. D'où mon problème.

Merci de m'aider.
A voir également:

27 réponses

oki merci à vous
0
Bonjour,

Pour ma part j'aimerais exclure les 2 (ou x) premiers caractères d'une chaîne alphanumérique non constante. Le nombre de caractère peut varier.

Ma chaîne ressemble à cela:

AZER-TY45

Mais peut-être

AZER-TY45-WHITE

Dans les 2 cas "AZ" est à exclure.

Merci pour votre aide
0
Raymond PENTIER Messages postés 58396 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
21 mars 2013 à 14:25
=STXT(A1;3;99)
0
peut-être =droite( a1;nbcar(a1)-2)
ou droite( a1;nbcar(a1)-c1) avec en c1 le nombre de caractère a sucrés
si la chaine est en A1
0
Bonjour à vous tous, je scrute les differents forums et ce post semble etre celui qui se rapproche le plus que de ce que je cherche:
Sur une colonne, j'ai des codes à 4 Lettres comme ceux ci:
EGBJ
EGBP
EGHF
EGHI
EGKA
LFBI
LFGO
LFLY
LFOH
LFOZ
LFPE
LFPZ

Je cherche à comptabiliser que les ensembles ne commencant que par "EG.."

Avec la fonction =NB.SI(xy:zy;"*EG*") j'obtient une bonne base mais les code ".EG." et "..EG" sont comptabilisés également et je ne les veux pas!
Dois je integrer une partie Syntaxe dans la formul pour n'obtenir que les "EG.."?
0
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
11 juin 2014 à 12:00
Bonjour,
Pour avoir seulement les codes qui commencent par EG.. il ne faut pas mettre de caractère de remplacement * au début du critère:
=NB.SI(xy:zy;"EG*") au lieu de
=NB.SI(xy:zy;"*EG*")
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci a toi!
0
Bonjour à tous,

Malgré vos explications, je n'ai pas trouvé la solution à mon problème.
Voici les cellules de mon fichier client :
C1 : Montpellier Cedex 15
C2 : Toulouse
C3 : Rouen cedex
C4 : Nantes CP 03
C6 : Strasbourg Cedex 01

J'aimerais avoir deux colonnes distinctes :
- colonne A : avec les villes seulement
- colonne B: avec les cedex uniquement

Les fonctions stxt, droite et gauche ne fonctionnent pas car je n'ai jamais le même nombre de caractères. La casse peut changer car j'ai des majuscule ou des minuscules à "cedex". J'ai parfois le mot "cp" ou "CP" pour cedex...

Si quelqu'un peut m'aider...
Pas de macro s'il vous plaît :-)

Merci :-)
0
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
3 déc. 2014 à 18:30
Bonjour,
En A1:
=SI(ESTERREUR(CHERCHE("§";SUBSTITUE(SUBSTITUE(SUBSTITUE(MAJUSCULE(C1);" CEDEX";"§");" CP";"§");" CÉDEX";"§"))-1);C1;GAUCHE(C1;CHERCHE("§";SUBSTITUE(SUBSTITUE(SUBSTITUE(MAJUSCULE(C1);" CEDEX";"§");" CP";"§");" CÉDEX";"§"))-1))

Avec les versions récente d'excel la syntaxe peut être simplifiée en utilisant SIERREUR au lieu de SI(ESTERREUR....

En B1:
=SI(ESTNUM(CNUM(DROITE(C1;1)));SI(ESTNUM(CNUM(DROITE(C1;2)));CNUM(DROITE(C1;2));CNUM(DROITE(C1;1)));"")

ou si on veut le n° en texte
=SI(ESTNUM(CNUM(DROITE(C1;1)));SI(ESTNUM(CNUM(DROITE(C1;2)));DROITE(C1;2);DROITE(C1;1));"")
0