Compter le nombre d'éléments d'une somme, dans une cellule

Bonjour à tous,

Je me permets de vous demander votre aide, amis Excel-ents !

Je suis confronter à un problème.

Soit une cellule A1 dans laquelle j'ai effectué une somme. (exemple : A1=B1+C1+D2+ etc...) - celle cellule affiche un nombre.

Je souhaite obtenir, dans une autre cellule, le nombre d'éléments qui constituent ma somme (sans selectionner toute les cellules et appliquer la fction NB, mais seulement en utilisant la cellule A1).

En gros :

si A1= B1+C2+D4, j'aimerais que dans une autre cellule, on affiche "3" puisque j'ai 3 éléments dans la somme. si A1=D6, on afficherait "1" etc...

J'espère avoir été clair et vous remercie de votre éclairage. Je cherche depuis 3 jours !!

A bientôt

V.

Bonjour

Voici une fonction qui le permet

Function nb_cells(tmp As Range)
Application.Volatile
tmp2 = tmp.Formula
tmp3 = Replace(tmp2, "+", "")
nb_cells = Len(tmp2) - Len(tmp3) + 1
End Function

Bonjour Pyrof,

Merci beaucoup pour ta réponse et ta reactivité !

Ceci dit, je ne suis pas ferru d'Excel et ne sais pas comment exploiter ta formule...Où dois-je la copier? comment dois-je indiquer la cellule qui m'intéresse?

Merci d'avance !

V.

Il faut copier cette fonction dans l'éditeur de macro

Alt F11 ou outil macro Visual Basic Editor

tu insert un module et tu copie la fonction

tu reviens dans ta feuille

en d1 tu écris =nb_cells(A1)

et voila

C'est magique !

Merci bcp & bon WE

Oups !

Je viens de m'apercevoir que, malgré le bon focntionnement du code, la fonction comptabilise 1 lorsque la cellule est vide...Y a-t-il un moyen de comptabiliser 0 dans ce cas?

Merci d'avance!!!

test

Function nb_cells(tmp As Range)

Application.Volatile

tmp2 = tmp.Formula

tmp3 = Replace(tmp2, "+", "")

nb_cells = Len(tmp2) - Len(tmp3) + 1

if tmp="" then nb_cells=0

End Function

ça marche !

god bless Pyrof ! yes you can !!

Rechercher des sujets similaires à "compter nombre elements somme"