Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Compter le nombre de montant dans une cellule

kaki31

XLDnaute Occasionnel
Bonjour;
je cherche un moyen de compter le nombre de montant dans une cellule
Merci par avance.
 

Pièces jointes

  • Compter nbre .xlsx
    9.9 KB · Affichages: 11

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

On se place en B2 :
Via le menu "Formules / Gestionnaire de noms", on définit le nom maFormule avec pour définition :
=LIRE.CELLULE(41;Feuil1!$A12)

Puis en B2, on saisit la formule suivante à recopier vers le bas :
=NBCAR(maFormule)-NBCAR(SUBSTITUE(maFormule;"+";""))+1

nota : on utilise une astuce sans code avec une vieille macro Excel IV (LIRE.CELLULE) - on pourrait aussi le faire avec une macro "moderne" avec du code.
 

Pièces jointes

  • kaki31- compter membres d'une somme- v1.xlsm
    11.1 KB · Affichages: 3
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Une autre formule (qui fonctionne sur O365)
En B1
=NBVAL(FRACTIONNER.TEXTE(FORMULETEXTE(A1);"+"))
renvoie 4

Je ne sais pas ce qu'il en est sur Excel 2016.
Donc en reprenant la formule de @mapomme
Cette formule devrait fonctionner sur Excel 2016
=NBCAR(FORMULETEXTE(A1))-NBCAR(SUBSTITUE(FORMULETEXTE(A1);"+";""))+1

EDITION: Ah, non, je viens de voir que FORMULETEXTE n'est disponible que sur O365, tout comme FRACTIONNER.TEXTE
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Avec une fonction personnalisée NbrDansSomme dont le code est dans module1 :
VB:
Function NbrDansSomme&(x As Range)
   NbrDansSomme = UBound(Split(x.Formula, "+")) + 1
End Function

Voir utilisation en colonne B du classeur joint.
 

Pièces jointes

  • kaki31- compter membres d'une somme- v2.xlsm
    16.4 KB · Affichages: 5

kaki31

XLDnaute Occasionnel
Bonsoir Staple1600

Merci.
 

Staple1600

XLDnaute Barbatruc
Re

@mapomme
Ta réponse me rappelle ce fameux fil
Alors pour le plaisir, la nostalgie et les petits nouveaux, je le ressors de la poussière
Enjoy

Ps: Comme n'aurait pas pu dire le chum de Bernie : Puta*in, 18 ans !
 

Staple1600

XLDnaute Barbatruc
Re


Une formule (que j'affectionne car idéale pour me bercer avant d'aller au dodo)
En B1
=NBVAL(TRANSPOSE(FILTRE.XML("<t><s>"&SUBSTITUE(FORMULETEXTE(A1);"+";"</s><s>")&"</s></t>";"//s[translate(.,'1234567890','')!=.]")))
devrait normalement fonctionner sur Excel 2016

@kaki31 Je te laisse tester pendant que je me glisse sous la couette

Bonne nuit XLD.

PS: Pour voir la formule en action (et mieux la lire)
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…