Compter nombre d'éléments d'une addition

Bonjour

Je cherche à avoir dans une cellule le nombre d'éléments constituant une somme située dans une autre cellule.

Je m'explique: en A1, j'ai 30+40+50, et je voudrais une formule en A2 qui me renvoie le chiffre 3 (pour ce cas précis).

Si en A1, j'ai A3+G4+B2+C5+D1, en A2, j'aurais 5....

En 2009, mon problème a été posé (https://forum.excel-pratique.com/viewtopic.php?t=9508) et résolu pour Excel 2003.... et ça ne fonctionne pas avec Excel 2013. J'ai un code erreur #NOM? ....

Merci de vos suggestion avisées

Cordialement

Bonsoir le forum,

=NBCAR(A1)-NBCAR(SUBSTITUE(A1;"+";""))+1

Bonsoir,

Ta formule va s'appliquer au résultat de A1, pas à la formule qu'elle contient, mbbp.

Sinon, je ne vois pas pourquoi le code VBA ne fonctionne pas, tu es sûr de bien nommer la fonction personnalisée quand tu l'appelles ?

Merci mbbp de ta réactivité, mais ça semble ne pas fonctionner puisque quelque soit le nb d'éléments (même une cellule vide) la réponse reste à 1 !

Mais tu me donnes des idées et un axe de recherche !

Merci

bonne soirée

Bonsoir,

L'erreur #NOM? n'a rien à voir avec la version d'Excel !

Ton problème résolu en 2009 l'a été par une fonction personnalisée, soit une fonction macro (pas très bien écrite d'ailleurs). Si le code de la fonction n'est pas présent dans ton classeur tu ne peux l'utiliser car son nom ne correspondra à rien, d'où l'erreur.

Si tu étais concerné en 2009, c'est un rudiment de base que tu aurais dû assimiler depuis....

Cordialement.

en A1, j'ai 30+40+50, et je voudrais une formule en A2 qui me renvoie le chiffre 3 (pour ce cas précis).

Si en A1, j'ai A3+G4+B2+C5+D1, en A2, j'aurais 5....

nbre d elements

Merci oyobrans de ta participation

Je n'ai pas compris non plus pourquoi le code VBA ne fonctionnait pas. Celà viendrait-il du format défini pour la cellule ?

Dans la cellule où j'attends le résultat, soit la A, j'écris =nb_cells(A1). Et j'ai vérifié à maintes reprises, mais parfois on a le nez sur la conn..ie sans la voir ! !

Je cherche dans la direction de compter le nombre de fois qu'il y a le caractère "+" dans la chaine. Il y en a un de moins que de nombre.

Mais je pense qu'il me faut au passage d'abord transformer la chaine numérique de A1 en alphanumérique.

Merci Mferrand de ton avis...

En 2009, je n'étais pas concerné. C'est en cherchant, en 2018, une solution sur internet que j'ai eu cette réponse, que je me suis empressé de tester !

Cordialement

Bonne soirée

Merci à vous tous

Puisque le code VBA de 2009 devait fonctionner, j'ai tout repris à zéro et ça fonctionne !

Il valait mieux car mon idée avec transformation en alphanumérique m'a amené droit dans le mur: en A1, je ne pouvais transformer que le résultat de l'addition ! !!

Bonne soirée et grand merci à tous

Voilà une autre fonction pour donner ce résultat :

Function NBADD(c As Range)
    Dim n%
    Application.Volatile
    Set c = c.Cells(1, 1)
    n = UBound(Split(c.Formula, "+"))
    NBADD = IIf(c.HasFormula Or n > 0, n + 1, 0)
End Function

Elle renvoie le nombre de "+" +1, que le contenu de la cellule soit une formule (débutant par =) ou un texte pouvant représenter une formule (ce que pratiquent les métreurs...)

Par contre, si le contenu texte ne contient pas l'opérateur +, elle n'ajoute pas 1 et renvoie alors 0.

Si la plage passée à la fonction contient plusieurs cellules, elle ne traite que la première.

Le système reste limité en ce sens qu'il ne prend en compte que l'opérateur + parmi les diverses façon de réaliser une somme, et ignore les autres opérateurs.

Cordialement.

Merci Mferrand pour cette dernière suggestion.

J'apprécie aussi, le fait que tu mettes des commentaires à ta proposition dont les limites de ton code. Pour moi pas de soucis, puisque la somme se présentera toujours de la façon exposée.

Pour mettre en RESOLU, j'ai cliqué sur la ligne contenant le pseudo, tout à fait à droite , sur la case contenant une coche.

Est ce suffisant?

Cordialement merci à tous

Rechercher des sujets similaires à "compter nombre elements addition"