XL 2019 Compter uniquement les chiffres

Mathieu18

XLDnaute Junior
Bonjour la compagnie,

je vous permets de vous exposer ma problématique qui il est vrai est un peu aberrante au niveau construction d'un tableau mais qui malheureusement répond au besoin demandé.

1647265639365.png

En colonne B (noir), les jours du mois sont entrée de manière aléatoire 1 2 8 14 17 ou 1-2-8-14-17 ou encore 1,2,8,14,17 donc des chiffres des espaces des virgules des tirets...

Le besoin est de pouvoir compter de quand il y a "1", quand il y a "2", quand il y a "27" et rien d'autre. Et ce de 1 à 31 (jour du mois) donc pas un souci de mettre la meme formule 31 fois à coup de +.

Après plusieurs essais infructueux, je me tourne vers vos lumières dans l'espoir d'une solution, je vous remercie !
 

Pièces jointes

  • Compta chiffre.xlsx
    53.2 KB · Affichages: 8

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Mathieu,
En PJ un essai avec une fonction perso :
VB:
Function Compte(N)
    Dim Chaine$, i%, T
    Chaine = ""
    For i = 1 To Len(N)
        If Not IsNumeric(Mid(N, i, 1)) Then
            Chaine = Chaine & " "
        Else
            Chaine = Chaine & Mid(N, i, 1)
        End If
    Next i
    T = Split(Chaine, " ")
    For i = LBound(T) To UBound(T)
        If T(i) <> "" Then Compte = Compte + 1
    Next i
End Function
 

Pièces jointes

  • Compta chiffre.xlsm
    81.8 KB · Affichages: 1

Mathieu18

XLDnaute Junior
Alors idéalement si on pouvait avoir la solution avec une formule plutot qu'une macro ça serait top, ça me permettrait d'avoir la main dessus.
J'ai déjà cette solution au format Google sheet : =NB(split(REGEXREPLACE(B7;"[^\d]";"~");"~"))

Si un connaisseur peut la convertir au format excel ça serait parfait !

Je vous remercie !
 

job75

XLDnaute Barbatruc
Bonjour Mathieu18, sylvanu,

En C7, à tirer vers le bas :
Code:
=SOMMEPROD(ESTERREUR(-STXT(" "&B7;LIGNE(INDIRECT("1:"&NBCAR(B7)));1))*ESTNUM(-STXT(B7;LIGNE(INDIRECT("1:"&NBCAR(B7)));1)))
A+
 

Pièces jointes

  • Compta chiffre(1).xlsx
    75.3 KB · Affichages: 1

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Puisque Excel 2019, une autre formule
(fonctionne aussi avec Excel 2013 avec validation matricielle)
Code:
=NBVAL(FILTRE.XML("<j><m>"&SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;"-";" ");",";" ");" ";"</m><m>")&"</m></j>";"//m"))
Ici fonctionne avec l'espace, le tiret ou la virgule comme séparateur entre les chiffres.
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 182
dernier inscrit
moutassim.amine