• Publicité

Extraire une chaine de caractère (excel)

Dans ce forum, vous pouvez poser toutes vos questions concernant l'utilisation de logiciels de bureautique (Microsoft Office, Open Office, etc.)

Modérateurs: Sebastien, Stéphane, Christophe

Extraire une chaine de caractère (excel)

Messagepar D89P » 24 Juin 2010 15:15

Bonjour, :Teeheehee1:
Un p’tit problème de formule

Je souhaite de la cellule A1 extraire vers la cellule A2 la chaine de caractère qui ce trouve entre les deux tirets de la cellule A1.
Pour info si cela peut vous aider : (100322239 ce compose toujours de 9 chiffres), qu’après j’ai 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).

Chaine complète Chaine à extraire
A B
1 100322239 BLDX125N-ADH35FNA-UU1600X100 ADH35FNA

Avez-vous :idea: une soluce pour moi :?:
Didier
D89P
No0b
No0b
 
Messages: 1
Enregistré le: 24 Juin 2010 14:20

Re: Extraire une chaine de caractère (excel)

Messagepar Sebastien » 26 Juin 2010 22:17

Bonjour,

Si l'information recherchée est toujours placée entre deux tiret, alors la formule suivante peut fonctionner :
Code: Tout sélectionner
=STXT(A1;CHERCHE("-";A1;1)+1;CHERCHE("-";A1;CHERCHE("-";A1;1)+1)-(CHERCHE("-";A1;1)+1))


Quelques explications :
La fonction cherche permet de retrouver la position d'un caractère dans une chaine. On va donc chercher le premier tiret dans la cellule A1.
CHERCHE("-";A1;1)
la formule retourne 21

Le premier caractère à extraire est donc en 22
CHERCHE("-";A1;1)+1

Maintenant, nous allons chercher le deuxième tiret. Nous allons réutiliser la fonction cherche, mais en démarrant la recherche après le premier tiret.
Nous savons que ce caractère (le 22) est accessible avec la formule vu précédemment :CHERCHE("-";A1;1)+1

On imbrique les deux fonctions cherche :
CHERCHE("-";A1;CHERCHE("-";A1;1)+1)
La formule retourne 30

Maintenant, comptons le nombre de caractères à extraire : Nous allons soustraire les deux nombres trouvés précédemment :
CHERCHE("-";A1;CHERCHE("-";A1;1)+1) - CHERCHE("-";A1;1)+1
La réponse est 8

Nous avons donc tous les éléments pour effectuer une extraction avec la fonction STXT, à savoir : le numéro de départ et le nombre de caractères à extraire.
Ce qui donne :

=STXT(A1;CHERCHE("-";A1;1)+1;CHERCHE("-";A1;CHERCHE("-";A1;1)+1)-(CHERCHE("-";A1;1)+1))
ce qui correspond à =STXT(A1;22;8)

La formule a l'air complexe au premier abord, mais il suffit de la décomposer comme nous l'avons fait ci-dessus.

Pour obtenir des informations sur ces fonctions :
Les fonctions textes : STXT
Les fonctions textes : CHERCHE

@+
Image
Avatar de l’utilisateur
Sebastien
Administrateur
Administrateur
 
Messages: 5516
Enregistré le: 14 Fév 2005 19:17
Localisation: LILLE


Retourner vers Forum d'entraide : Bureautique

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

  • Publicité
cron