Extraire un nombre dans une valeur texte

1

Bonjour,

Je me présente Hubert, pas un pro en formule et encore moins en macro...

Je cherche une solution pour extraire d'une cellule les chiffres qui comporte des caractères lettres et chiffres, les chiffre se situant au milieu, sachant que les espaces ne sont pas tous identiques, par contre le nombre de caractère des chiffres est le même.

Je vous remercie de votre aide, n'ayant pas trouve de solution dans mes recherches sur le net...

Posté le 4 août 2016, 14:10
par hubert
Répondre
1

Bonsoir,

Comme tu ne donnes pas beaucoup de détail sur ton problème, nous sommes incapables de savoir combien de caractères peut contenir ton texte.  De même, nous ne connaissons pas non plus combien de chiffres sont contenus dans le nombre à trouver.  Tu dis juste qu'il contient toujours le même nombre de caractères.

En conséquence, il a bien fallu prendre des hypothèses.

Je te joins un fichier en annexe (tu cliques sur le lien et tu suis les instructions pour récupérer le fichier - tu sauras ainsi pour la prochaine fois comment joindre un fichier exemple ce qui nous permettra d'être plus efficace)

http://www.cjoint.com/c/FHfa3my43sz

Les hypothèses prisent sont :

un texte de maximum 16 caractères

un nombre de 3 chiffres se suivant perdus au milieu des 16 caractères pouvant contenir des blancs

Sans macro, la solution que je te propose est de créer 16 colonnes à partir de la colonne C (cela pourrait être une colonne différente - à toi de voir en fonction de ton tableau mais il faudra bien entendu adapter les formules) de manière à pouvoir décomposer ton texte caractère par caractère et de vérifier s'il ce caractère est =>0 ET =< 9 auquel cas on met 1 ou 0.  La formule est, je pense, simple à comprendre mais si tu as des difficultés : poses les questions voulues.

Saches que j'ai utilisé la fonction COLONNE() pour pouvoir rendre la formule duplicable dans toutes les colonnes.  Cela sert simplement à progresser de 1 à chaque colonne ainsi quand on est dans la colonne C et que l'on met COLONNE()-2 on trouve 3-2=1 et à chaque colonne supplémentaire on augmente de 1 et nous pouvons ainsi chercher le 1er caractère puis le second et ainsi de suite.

A noter que ces colonnes, une fois testées et mise au point terminée, pourront être masquées donc ne seront pas gênantes.

Ensuite en colonne B il ne suffit plus que d'utiliser la fonction EQUIV pour trouver le numéro du premier caractère qui représente un chiffre et ainsi pouvoir extraire les 3 caractères grâce à la fonction STXT

Ces formules sont à dupliquer autant de fois que nécessaire en fonction de tes besoins.

Merci de confirmer si cela répond à tes attentes.

Chris

Posté le 5 août 2016, 03:17
par chris1945
-1

Bonjour Hubert,

Une idée par fonction personnalisée voir si elle convient.

Cliquez sur le lien ci-dessous.

http://xls.lu/qR2p

Cordialement.

mdo100 Posté le 5 août 2016, 10:25
par mdo100

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :