Création
d'entreprise
Posez votre question Signaler

Extraire une chaine de caractère excel [Résolu]

bilar100 - Dernière réponse le 25 juin 2010 à 15:02
Bonjour,
Bonjour,
Je cherche a extraire une chaine de caractère d'une cellule excel qui se trouve a gauche d'un caractère spécifique (ex: * / - etc...) qui se trouve aussi dans cette même chaine de caractère.
Lire la suite 

Extraire une chaine de caractère excel »

16 réponses
Réponse
+4
moins plus
Bonjour
Pour extraire en A1 un texte avant un /
=STXT(A1;1;TROUVE("/";A1;1)-1)
Si vous voulez que le signe / soit édité avec le résultat, enlevez le -1 en fin de formule.
Crdlmnt
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Si la première valeur est en A1 exemple titi et toto/bernard et jacques

cette formule te donnera titi et toto

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

ou encore
=STXT(A1;1;CHERCHE("/";A1;1)-1)
Ajouter un commentaire
Réponse
+0
moins plus
Le problème c'est que dans la même collone de cellule, on trouve aussi du "*" comme "/" comme "+" comme " ".
Ajouter un commentaire
Réponse
+0
moins plus
Re,

ce n'est pas un problème, donnes nous la liste des symboles que tu peux rencontrer dans tes valeurs
Ajouter un commentaire
Réponse
+0
moins plus
* - / _ + espace
Ajouter un commentaire
Réponse
+0
moins plus
et la même cellule si aucun caractère n'est trouvé
Merci d'avance.
Ajouter un commentaire
Réponse
+0
moins plus
Re

j'attend avec impatience la réponse de mon ami Mike....
en attendant je préfére vous conseiller tout d'abord de traiter votre colonne de texte avec "remplacer" pour réaligner tous les signes possibles sur un seul modèle (quitte à recopier votre lsite pour ne pas détruire l'original) et ensuite d'utiliser la formule:

=SI(ESTERREUR(TROUVE("signe";A1));A1;STXT(A1;1;TROUVE("signe";A1)-1))

Ca risque d'être le plus simple, à mon avis.
En attendant mieux
Bonne journée

Crdlmnt
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Après un petit remontant une formule qui traite les séparations * - / _ + excepté l’espace, ne sachant pas s’il y en a plusieurs dans la valeur

=STXT(A1;1;TROUVE("/";SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;"*";"/");"-";"/");"_";"/");"+";"/");1)-1)

Si par contre un seul espace cette dernière le prendra en compte

=STXT(A1;1;TROUVE("/";SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;"*";"/");"-";"/");"_";"/");"+";"/");" ";"/");1)-1)

Dans le cas ou il existerait plusieurs espaces on pourrait le traiter à condition de savoir lequel traiter

Je serai de retour dans la soirée après une après midi de formation d'informatique bien sur
Ajouter un commentaire
Réponse
+0
moins plus
Merci infiniment a vous deux.
Ajouter un commentaire
Réponse
+0
moins plus
Re,

Si ton problème est réglé, confirmes nous le que l'on mette le statut de la discussion en résolu
Ajouter un commentaire
Réponse
+0
moins plus
alors soit je m'y prend comme un manche (surement vrai au vue de mon niveau dans excel)
soit je me suis mal exprimer (fort possible aussi)

ce que je veux obtenir c'est ça:
dans ma cellule A1 ma chaine complète et dans la cellule A2 uniquement la réf qui ce trouve entre les tirets et là j'ai besoin de vos connaissances pour me trouver une formule à entré dans ma cellule A2.

Chaine complète Chaine à extraire

100322239 BLDX125N-ADH35FNA-UU1600X100 ADH35FNA

100322239 (toujours 9 chiffres) après toujours 10 espaces et pour le reste de la chaine les groupes de lettres et de chiffres entre les tirets sont variable en nombres (suivant réf).

Merci
DIDIER
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour
ça peut être sous réserve que votre 1° tiret soit bien le 19° caractère
Le nombre de caractères à éditer entre les deux tirets est pris en compte par la formule)


=STXT(A1;20;TROUVE("-";A1;20)-20)

Sinon revenez, ça sera un peu plus compliqué si la position des tirets est variable, mais il y a des solutions.

crdlmnt
Ps
un conseil pou l'avenir:
éviter de vous accrocher sur une ancienne discussion, c'est plus difficile pour détecter votre demande, et surtout, celle ci était signalée comme résolue
Ajouter un commentaire
Réponse
+0
moins plus
Salut le forum

En B1 la formule

=STXT(A1;(CHERCHE("-";A1;1))+1;CHERCHE("-";A1;(CHERCHE("-";A1;1))+1)-((CHERCHE("-";A1;1))+1))


Mytå
Ajouter un commentaire
Réponse
+0
moins plus
super çà fonctionne

merci à toi Mytâ
peut-tu m'expliquer sommairement la formule que je ne fasse pas que de la recopie betement sans rien comprendre
merci d'avance
DIDIER
Ajouter un commentaire
Réponse
+0
moins plus
Re le forum

Explication de la formule
=STXT(A1;(CHERCHE("-";A1;1))+1;CHERCHE("-";A1;(CHERCHE("-";A1;1))+1)-((CHERCHE("-";A1;1))+1))

Fonction : STXT(texte;no_départ;no_car)
texte représente la chaîne de texte contenant les caractères à extraire.
no_départ représente la position dans le texte du premier caractère à extraire.
Le premier caractère de texte a un no_départ égal à 1, et ainsi de suite.
no_car indique le nombre de caractères à extraire du texte à l'aide de STXT.

Le première partie trouve le début du texte (no_départ)
=(CHERCHE("-";A1;1))+1

La deuxième partie trouve la longueur du texte (no_car)
=CHERCHE("-";A1;(CHERCHE("-";A1;1))+1)-((CHERCHE("-";A1;1))+1)

Mytå
Ajouter un commentaire
Réponse
+0
moins plus
je te remercie de ta réponse et de ta patience

Sincérement
Didier
Ajouter un commentaire
Ce document intitulé « Extraire une chaine de caractère excel » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?