Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Compter Chiffre

6 réponses
Avatar
Manu
Bonsoir,

J'ai une serie de cellules dans la colonne A qui ont soit que des chiffres
soit des chiffres et avec des lettres à la fin. comment compter le nombre de
chiffre avant la 1ère lettre taper...

Exemple

0123456m doit me donner 7

6547p doit me donner 4

Je suis en ce moment avec :
SI(CODE(DROITE(A2;1))>57;cherche(nbcar(......................

Merci

Manu


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus

6 réponses

Avatar
MichD
Bonjour,
Tes exemples n'ont qu'une lettre à la fin de la séquence de caractères.
Si cela s'applique à toutes les cellules, il y a cette formule :
=NBCAR(GAUCHE(A1;NBCAR(A1)-1))
Si tu as des chiffres et des lettres dans une cellule et que tu veux dénombrer seulement le
nombre de chiffre, il y a cette formule, elle demande une validation matricielle : Maj + Ctrl +
Ènter
=SOMME(SI(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))<58;1))
Dans les 2 cas, j'ai supposé que le texte était en A1
MichD
Avatar
Manu
Bonjour et merci,
J'ai deux choses à faire....
Connaitre le nombre de chiffre avant une lettre, ci dessous les diverses
possibilités en sachant que les lettres sont toujours à la fin
237P
6987896
369874LM
635YTG
Mais je dois aussi extraire dans la colonne B les cellules sans les lettres,
ce qui devrait donner dans mon exemple :
237
6987896
369874
635
Merci
Manu
"MichD" a écrit dans le message de groupe de discussion :
oas7t2$jil$
Bonjour,
Tes exemples n'ont qu'une lettre à la fin de la séquence de caractères.
Si cela s'applique à toutes les cellules, il y a cette formule :
=NBCAR(GAUCHE(A1;NBCAR(A1)-1))
Si tu as des chiffres et des lettres dans une cellule et que tu veux
dénombrer seulement le
nombre de chiffre, il y a cette formule, elle demande une validation
matricielle : Maj + Ctrl +
Ènter
=SOMME(SI(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))<58;1))
Dans les 2 cas, j'ai supposé que le texte était en A1
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
MichD
Ce sont 2 formules matricielles-> validation par Maj + Ctrl + Enter
Donne le nombre de chiffres dans la cellule A1
=SOMME(SI(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))<58;1))
Elle extrait les chiffres dans la cellule A1
=GAUCHE(A1;SOMME(SI(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))<58;1)))
MichD
Avatar
MichD
Une autre manière de répondre à ta question est de trouver la position du premier caractère
(lettre) dans la séquence des caractères contenue dans la cellule.
Cette formule matricielle donne la position de la première lettre dans la cellule.
Pour trouver le nombre de chiffres avant la première lettre, il s'agit de soustraire 1
Validation matricielle : Maj + Ctrl + Enter
=EQUIV(VRAI;CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>57;0)-1
Pour extraire les chiffres avant la première lettre : Validation matricielle...
= Gauche(A1;EQUIV(VRAI;CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>57;0)-1)
MichD
Avatar
Manu
Bonsoir,
Et un grand merci, ca fonctionne nickel, mais je préfère ta 1ère solution
car la seconde met une erreur lorsque j'ai des cellules qui ne sont que des
chiffres.
Génial !!!
Manu
"MichD" a écrit dans le message de groupe de discussion :
oaubd5$b0f$
Une autre manière de répondre à ta question est de trouver la position du
premier caractère
(lettre) dans la séquence des caractères contenue dans la cellule.
Cette formule matricielle donne la position de la première lettre dans la
cellule.
Pour trouver le nombre de chiffres avant la première lettre, il s'agit de
soustraire 1
Validation matricielle : Maj + Ctrl + Enter
=EQUIV(VRAI;CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>57;0)-1
Pour extraire les chiffres avant la première lettre : Validation
matricielle...
=
Gauche(A1;EQUIV(VRAI;CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>57;0)-1)
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
MichD
Afin d'éviter l'affichage d'une erreur dans le cas où il n'y aurait pas au moins une lettre
dans la suite des caractères d'une cellule, essaie cette formule.
Validation matricielle : Maj + Ctrl + Enter
=SIERREUR(EQUIV(VRAI;CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>57;0)-1;NBCAR(A1))
Dans les anciennes versions d'Excel, la fonction "SiErreur() n'existe pas sous cette forme.
MichD
"Manu" a écrit dans le message de groupe de discussion : oaugcq$m43$
Bonsoir,
Et un grand merci, ca fonctionne nickel, mais je préfère ta 1ère solution
car la seconde met une erreur lorsque j'ai des cellules qui ne sont que des
chiffres.
Génial !!!
Manu
"MichD" a écrit dans le message de groupe de discussion :
oaubd5$b0f$
Une autre manière de répondre à ta question est de trouver la position du
premier caractère
(lettre) dans la séquence des caractères contenue dans la cellule.
Cette formule matricielle donne la position de la première lettre dans la
cellule.
Pour trouver le nombre de chiffres avant la première lettre, il s'agit de
soustraire 1
Validation matricielle : Maj + Ctrl + Enter
=EQUIV(VRAI;CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>57;0)-1
Pour extraire les chiffres avant la première lettre : Validation
matricielle...
Gauche(A1;EQUIV(VRAI;CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>57;0)-1)
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus
Avast.
https://www.avast.com/antivirus