Compter des chiffres

Olyxier

XLDnaute Occasionnel
Bonsoir

voici mon problème je souhaite pouvoir compter des chiffres.

Dans la même cellule j'ai ex: 7 8 9 5 4 3 3 2 9 6 1

j'aimerai donc que dans une cellule de mon choix excel me dise qu'il y a 11 chiffres dans mon exemple.

Et dans une cellules à côté de celle qui m'à dit qu'il y avait 11 chiffres combien de chiffres sont compris entre 1 et 3 soit 4 chiffres dans mon exemple

voici d'autres exemple de ce que je voudrai car si en plus il y a des guillemets on ne compte que les chiffres avant

1 5 8 7 4 3 6 ( 09) 2 2 sept chiffres et deux compris entre 1 et 3
4 5 8 2 2 3 4 1 (09) 4 8 2 Huit chiffres et quatre compris entre 1 et 3
8 8 3 5 2 3 1 1 Huit chiffres et cinq compris entre 1 et 3

ce qui en plus serai vraiment super ce serai de m'expliquer la démarche pour que je puisse essayer de modifier le code si un jour je souhaite compter par exemple les 4 en plus des 1.2.3

je vous remercie d'avance car si pour moi ce code est introuvable pour vous c'est du gâteau
merci encore et bonne soirée
 

Tibo

XLDnaute Barbatruc
Re : Compter des chiffres

re,

Peux-tu joindre un fichier exemple avec peut-être une dizaine de lignes reprenant les différents cas de figure possibles.

Sinon, dans ton exemple, le 09 entre parenthèse doit-il être pris en compte au titre des chiffres ?

Je verrais tout ça demain.

@+
 

Olyxier

XLDnaute Occasionnel
Re : Compter des chiffres

voilà tout doit être plus claire avec ce classeur je reviendrai demain voir si tu as

trouver en attendant merci beaucoup et bonne soirée
 

Pièces jointes

  • Comptes.xls
    18.5 KB · Affichages: 53
  • Comptes.xls
    18.5 KB · Affichages: 64
  • Comptes.xls
    18.5 KB · Affichages: 60

Papou-net

XLDnaute Barbatruc
Re : Compter des chiffres

Ps si je veux compter en même temps plusieurs cellule quel modif faux t'il faire merci

Voici comment modifier le code, pour écrire les données à droite des cellules :

Code:
Private Sub CommandButton2_Click()
' La boucle analyse les cellules depuis A1 jusqu'à la dernière cellule remplie en colonne A
[COLOR="Red"]For lg = 1 To Range("A65536").End(xlUp).Row[/COLOR]
' Créé une variable contenant la chaine de caractères en supprimant les espaces
  Cel = Replace(Cells(lg, 1), " ", "")
' Détermine la position de la parenthèse ouvrante
  Pos = InStr(Cel, "(")
' Si la parenthèse ouvrante est trouvée, alors on extrait la partie gauche de la chaine jusqu'au caractère précédant la parenthèse
  If Pos > 0 Then
    Cel = Left(Cel, Pos - 1)
  End If
' Écrit le nombre de chiffres de la chaine dans la cellule en colonne B
  [COLOR="Red"]Cells(lg, 2)[/COLOR] = Len(Cel)
' Initialise la variable lng (servant à compter le nombre de chiffres < ou = à 3)
  lng = 0
' Boucle de recherche des chiffres < ou = à 3
' si un chiffre est trouvé, on ajoute 1 à la variable lng
  For n = 1 To Len(Cel)
    If Mid(Cel, n, 1) <= 3 Then lng = lng + 1
  Next
' Écrit le nombre de chiffres < ou = à 3 dans la cellule en colonne C
  [COLOR="Red"]Cells(lg, 3)[/COLOR] = lng
[COLOR="Red"]Next[/COLOR]
End Sub

Espérant avoir répondu.

Cordialement.
 

Tibo

XLDnaute Barbatruc
Re : Compter des chiffres

Bonjour,

Une solution formule (valable pour Excel 2007, compte tenu du nombre d'imbrication de fonctions :

Code:
=NBCAR(SUBSTITUE(GAUCHE(A1;TROUVE("(";A1&"(")-1);" ";""))

et

Code:
=SOMMEPROD((ESTNUM(STXT(SUBSTITUE(GAUCHE(A1;TROUVE("(";A1&"(")-1);" ";"");
LIGNE(INDIRECT("1:"&NBCAR(SUBSTITUE(GAUCHE(A1;TROUVE("(";A1&"(")-1);" ";""))));
1)*1)*1);((STXT(SUBSTITUE(GAUCHE(A1;TROUVE("(";A1&"(")-1);" ";"");LIGNE(
INDIRECT("1:"&NBCAR(SUBSTITUE(GAUCHE(A1;TROUVE("(";A1&"(")-1);" ";""))));1))
<"4")*1)

Formules à recopier vers le bas

@+
 

Tibo

XLDnaute Barbatruc
Re : Compter des chiffres

re,

Finalement, une formule plus simple pour la 2ème (passe sans problème sous Excel 2003) :

Code:
=SOMMEPROD((STXT(GAUCHE(A1;TROUVE("(";A1&"(")-1);LIGNE(INDIRECT("1:"&NBCAR(GAUCHE(
A1;TROUVE("(";A1&"(")-1))));1)<"4")*(STXT(GAUCHE(A1;TROUVE("(";A1&"(")-1);LIGNE(
INDIRECT("1:"&NBCAR(GAUCHE(A1;TROUVE("(";A1&"(")-1))));1)<>" "))

Je te laisse tester

@+
 

Olyxier

XLDnaute Occasionnel
Re : Compter des chiffres

Bonsoir
encore un pti problème lorsque la formule compte les chiffres ex: 5 8 9 6 7 3 2 1 0 0 5

=NBCAR(SUBSTITUE(GAUCHE(CY15;TROUVE("(";CY15&"(")-1);" ";""))

cette formules marche très bien

mais le problèmes c'est la formule suivante qui compte les 0 alors que je ne voudrais compter que les chiffres de 1 à 3

=SOMMEPROD((STXT(GAUCHE(CY15;TROUVE("(";CY15&"(")-1);LIGNE(INDIRECT("1:"&NBCAR(GAUCHE(
CY15;TROUVE("(";CY15&"(")-1))));1) <"4")*(STXT(GAUCHE(CY15;TROUVE("(";CY15&"(")-1);LIGNE(
INDIRECT("1:"&NBCAR(GAUCHE(CY15;TROUVE("(";CY15&"(")-1))));1)<>" "))

merci et bonne soirée
 

Tibo

XLDnaute Barbatruc
Re : Compter des chiffres

re,

J'avais en fait pris en compte ton fichier d'hier soir où je n'avais vu aucun zéro.

J'en avais conclu, sans doute un peu hâtivement, qu'il n'y avait pas de zéro.

Petite adaptation :

Code:
=SOMMEPROD((STXT(GAUCHE(A1;TROUVE("(";A1&"(")-1);LIGNE(INDIRECT("1:"&NBCAR(
GAUCHE(A1;TROUVE("(";A1&"(")-1))));1)<"4")*(STXT(GAUCHE(A1;TROUVE("(";A1&"(")-1)
;LIGNE(INDIRECT("1:"&NBCAR(GAUCHE(A1;TROUVE("(";A1&"(")-1))));1)>"0")*(STXT(
GAUCHE(A1;TROUVE("(";A1&"(")-1);LIGNE(INDIRECT("1:"&NBCAR(GAUCHE(A1;TROUVE(
"(";A1&"(")-1))));1)<>" "))

Je te laisse tester

@+
 

Discussions similaires

Réponses
5
Affichages
264