Position d'un chiffre dans un texte excel
aqwzsx
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour
J'ai une formule qui retourne la première position d'un chiffre dans une chaine de texte.
Chaine de texte 1 en cellule M2 : « Cass. com 15 février 2008»
Chaine de texte 2 en cellule M2 : « Cass. com 5 février 2008»
Mes chiffres sont dans la feuille « TABLES-REF » avec 1 en C5, 2 en C6, 3 en C7, 4 en C8, 5 en C9, 6 en C10, 7 en C11, 8 en C12, 9 en C13
Ma formule : « =CHERCHE(SUBSTITUE('TABLES-REF'!$C$5:$C$13;"""";"");M2 )»
Resultat pour la chaine de texte 1 => 11
Resultat pour la chaine de texte 2 => erreur
=> Cette formule fonctionne avec les chiffres 1 et 2 mais pas avec les autres et notamment 5
=> Si je mets 5 en C5 et 1 en C9 dans TABLES-REF => cela fonctionne pour ma chaine 2 mais dans le premier exemple, il me renverra la position du chiffre 5 et pas 1 ce qui n'est pas correct
=> Il faudrait qu'il trouve la première position d'un chiffre et que cela fonctionne avec tous les chiffres
Je suis un peu perdu
Merci de votre aide.
J'ai une formule qui retourne la première position d'un chiffre dans une chaine de texte.
Chaine de texte 1 en cellule M2 : « Cass. com 15 février 2008»
Chaine de texte 2 en cellule M2 : « Cass. com 5 février 2008»
Mes chiffres sont dans la feuille « TABLES-REF » avec 1 en C5, 2 en C6, 3 en C7, 4 en C8, 5 en C9, 6 en C10, 7 en C11, 8 en C12, 9 en C13
Ma formule : « =CHERCHE(SUBSTITUE('TABLES-REF'!$C$5:$C$13;"""";"");M2 )»
Resultat pour la chaine de texte 1 => 11
Resultat pour la chaine de texte 2 => erreur
=> Cette formule fonctionne avec les chiffres 1 et 2 mais pas avec les autres et notamment 5
=> Si je mets 5 en C5 et 1 en C9 dans TABLES-REF => cela fonctionne pour ma chaine 2 mais dans le premier exemple, il me renverra la position du chiffre 5 et pas 1 ce qui n'est pas correct
=> Il faudrait qu'il trouve la première position d'un chiffre et que cela fonctionne avec tous les chiffres
Je suis un peu perdu
Merci de votre aide.
A voir également:
- Position d'un chiffre dans un texte excel
- Excel trier par ordre croissant chiffre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Comment mettre un 0 devant un chiffre dans excel - Guide
- Excel cellule couleur si condition texte - Guide
2 réponses
Bonjour ccm81 et aqwzsx
Il existe une solution (suggérée par Microsoft) en utilisant une expression matricielle :
{=EQUIV(VRAI;ESTNUM(1*STXT(M2;LIGNE($1:$20);1));0)}
bien sur à valider par <Ctrl><Maj><Entrée>
le $1:$20 donne la longueur maxi de la chaine ici limitée à 20 caractères mais on peut remplacer le 20 par la longueur maxi de la chaine à analyser.
A+
Cordialement,
Il existe une solution (suggérée par Microsoft) en utilisant une expression matricielle :
{=EQUIV(VRAI;ESTNUM(1*STXT(M2;LIGNE($1:$20);1));0)}
bien sur à valider par <Ctrl><Maj><Entrée>
le $1:$20 donne la longueur maxi de la chaine ici limitée à 20 caractères mais on peut remplacer le 20 par la longueur maxi de la chaine à analyser.
A+
Cordialement,
bonjour
sans macro, je ne vois pas (ce qui ne veut pas dire que ...)
avec (une petite) macro
Alt-F11 pour accéder à l'éditeur puis Insertion/module et copier/coller
à utiliser dans la feuille comme une fonction excel
bonne suite
sans macro, je ne vois pas (ce qui ne veut pas dire que ...)
avec (une petite) macro
Alt-F11 pour accéder à l'éditeur puis Insertion/module et copier/coller
à utiliser dans la feuille comme une fonction excel
Public Function rangnum(s)
Dim r As Long
r = 1
Do
If IsNumeric(Mid(s, r, 1)) Then
rangnum = r
Exit Function
End If
r = r + 1
Loop While r <= Len(s)
rangnum = 0
End Function
bonne suite
bien vu
et bonne fin d' après midi