XL 2016 Somme de plusieurs nombre de la même cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bibbip35

XLDnaute Occasionnel
Bonsoir à tous

Je cherche à trouver une formule , pour compter une suite de nombre séparé par une virgule ET issu de la même cellule

Exemple :
Suite Resultat
1,1,1 2
20 20
150 150
150,150 300
45,8,9,67 129

Merci à tous

Bibbip35
 

Pièces jointes

Bonsoir @bibbip35,

Un essai avec une formule matricielle en B2 à copier/tirer vers le bas.
VB:
=SOMME(CNUM(SIERREUR(STXT(A2;PETITE.VALEUR(SI(STXT(","&A2&",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));1)=",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));"");LIGNE($1:$9));PETITE.VALEUR(SI(STXT(","&A2&",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));1)=",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));"");1+LIGNE($1:$9))-PETITE.VALEUR(SI(STXT(","&A2&",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));1)=",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));"");LIGNE($1:$9))-1);0)))


Cette formule permet de sommer jusqu'à un maximum de 9 nombres (si plus => il faut modifier les termes LIGNE($1:$9) en augmentant la valeur 9)
 

Pièces jointes

Dernière édition:
Bonkour,

Une fonction perso

Code:
Function sommeCel2(c)
  Application.Volatile
  sommeCel2 = Evaluate(Replace(Replace(c, ",", "+"), " ", "+"))
End Function

ou

Code:
Function sommeCel(c)
  Application.Volatile
  x = 0
  a = Split(c, " ")
  For i = LBound(a) To UBound(a)
    b = Split(a(i), ",")
    For j = LBound(b) To UBound(b)
       If IsNumeric(b(j)) Then x = x + b(j)
    Next j
  Next i
  sommeCel = x
End Function

Boisgontier
 

Pièces jointes

Dernière édition:
Bonsoir @bibbip35,

Un essai avec une formule matricielle en B2 à copier/tirer vers le bas.
VB:
=SOMME(CNUM(SIERREUR(STXT(A2;PETITE.VALEUR(SI(STXT(","&A2&",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));1)=",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));"");LIGNE($1:$9));PETITE.VALEUR(SI(STXT(","&A2&",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));1)=",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));"");1+LIGNE($1:$9))-PETITE.VALEUR(SI(STXT(","&A2&",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));1)=",";LIGNE(INDIRECT("1:"& NBCAR(A2)+2));"");LIGNE($1:$9))-1);0)))


Cette formule permet de sommer jusqu'à un maximum de 9 nombres (si plus => il faut modifier les termes LIGNE($1:$9) en augmentant la valeur 9)

Bonjour mapomme

T'a formule matricielle m'inspire bien mais pourquoi que lorsque je modifie cette plage ($1:$9) dans la formule elle ne fonctionne plus, à vrai dire si je modifie dollar9 par dollar82 ($1:$82) ça marche toujours par contre si je modifie dollar1 par dollar 70 ($70:$80) ça ne marche plus
Voir fichier joint

Merci pour le retour

Slts
 

Pièces jointes

Bonjour mapomme

T'a formule matricielle m'inspire bien mais pourquoi que lorsque je modifie cette plage ($1:$9) dans la formule elle ne fonctionne plus, à vrai dire si je modifie dollar9 par dollar82 ($1:$82) ça marche toujours par contre si je modifie dollar1 par dollar 70 ($70:$80) ça ne marche plus
Voir fichier joint

Merci pour le retour

Slts
Avant de modifier une formule , il faut en comprendre le fonctionnement ...🙄

la portion de formule :
LIGNE($1:$82)
sert à établir une matrice de nombre allant de 1 à 82
et est déconnectée de toutes lignes réelles...

dans le cas d'une formule matricielle il vaut mieux toujours minimiser la borne haute
mais l'écriture :
LIGNE($1:$500) ' nombres de 1 à 500
est tout autant valide que
LIGNE($1:$10) ' nombre de 1 à 10 = nombre d'éléments à comptabiliser dans la cellule

alors que :
LIGNE($1:$6)
donnera un résultat ne concernant que les 6 premiers éléments...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
129
Retour