Microsoft 365 Addition des nombres dans une cellule avec du texte

Dreyz

XLDnaute Nouveau
Bonjour à tous,

Je tente en vain d'additionner des chiffres de ma colonne A qui contient des nombres et des lettres, vers ma colonne B
Exemple :
A1 :
benoit x 1, eric x 1, nathalie x 1, marc x 15
J'aimerais avoir en B = 18

A2 :
jean-jacques x 1, eric x 1, marie x 1
En B = 3

A3 :
jean-jacques x 1, eric x 5, marie x 1, marie x 1, marc x 1, sylvie x 1, , flavien x 5
En B = 15

Je cherche donc à trouver une formule pour additionner les chiffres se trouvant après "x ".
Je précise que je suis essentiellement sous google sheet, ayant testé une formule type (je débute sur les tableurs, j'avais trouvé cela sur le net)

=SOMMEPROD(SIERREUR(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1);0))

Mais qui ne prend pas en compte les valeurs supérieurs à 9. Exemple au lieu d'avoir d'avoir une somme de 18 en B1 , il me renvoie 9 (1+1+1+1+5).


Merci à vous,
Nicolas.
 
Dernière édition:
Solution
Re,
Puis je me suis souvenu que j'avais des archives alors j'ai mis un masque et soulevé la poussière et bim!
=SOMME(SIERREUR((STXT(SUBSTITUE(SUBSTITUE(A1;",";"");" ";REPT(" ";NBCAR(A1)));1+NBCAR(A1)*(LIGNE(A$1:INDEX(A:A;NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))+(A1<>"")))-1);NBCAR(A1)))+0;0))
Il faudrait un volontaire sous XL2K10 pour la tester ;)

On peut faire plus courte, en B1 :
VB:
=SOMME(SIERREUR(STXT(SUBSTITUE(A1;" ";REPT(" ";NBCAR(A1)));(LIGNE(INDIRECT("1:"&(NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";))+1)))-1)*NBCAR(A1);NBCAR(A1))*1;))
@ valider par Ctrl+Maj+Entrée
@ tirer vers le bas

Valide pour toutes les versions à partir de 2007.

Noter que sous Excel pour Microsoft 365 on n'a pas...

Staple1600

XLDnaute Barbatruc
Bonsoir mapomme

Je crois pas forcément ce que disent les petits gars de Redmond
Je suis un guedin, moi
J'ai testé direct la formule à Ra@chid dans ma cellule!
Et eureka

Puis je me suis souvenu que j'avais des archives alors j'ai mis un masque et soulevé la poussière et bim!
=SOMME(SIERREUR((STXT(SUBSTITUE(SUBSTITUE(A1;",";"");" ";REPT(" ";NBCAR(A1)));1+NBCAR(A1)*(LIGNE(A$1:INDEX(A:A;NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))+(A1<>"")))-1);NBCAR(A1)))+0;0))
Il faudrait un volontaire sous XL2K10 pour la tester ;)

Elle fonctionne chez moi (sur mon Treize)
NB: Validation avecCTRL+TRUC+ENTER matrice et cie ;)
(comme la formule à R@chid)
 

Staple1600

XLDnaute Barbatruc
Re

=>soan
Comme l'a dit le demandeur, il utilise Google Sheet
(Et de mémoire Split pose problème sous Mac, tout comme RegExp)
Et pourquoi sortir le VBA, quand on peut le faire par formule*?
Surtout qu'on en a deux désormais ;)
(cf message#16)

*: pas sur que la mienne fonctionne sous 2007 (à tester)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Je crois pas forcément ce que disent les petits gars de Redmond
Je suis un guedin, moi
Si ça marche chez toi, ça ne signifie pas que ça marche sur tous les Excel de même version. Mais si ça ne marche pas chez toi, alors cela suffit pour dire que ça ne marche pas sur cette version. o_O. Autant se fier à Krosoft.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

=>mapomme
Pas compris
Ca doit fonctionner sur tous les Excel 2013, non?
(toutes les versions se valent pour 2013 pour ce qui concerne Excel)

Reste à tester sur 2010, 2007 et 2003

PS: Elle fonctionne chez toi, non?
Mais personnellement, je préfère la beauté de R@chid
(euh pardon la beauté de formule de R@chid ;))
 

soan

XLDnaute Barbatruc
Inactif
@Staple1600

j'avais lu ce post du demandeur :

Image.jpg


et même si Dreyz-Nicolas n'avait eu que Google Sheet, ma solution peut
toujours être utile aux rares membres de ce forum qui ont Excel. 😜

je ne savais pas que Split() pose problème sous Mac, mais j'savais déjà
qu'Excel PC est plus complet et plus puissant que son avatar Mac.


soan
 

Staple1600

XLDnaute Barbatruc
Re

=>mapomme
T'as mal aux dents? T'es de mauvaise humeur ??? ;)
Je ne comprends pas ce tu veux dire.
Que tu es Office 2013 Pro ou Etudiant ou PME
Les fonctions natives d'Excel (hormis PQ) sont présentes quelque soit la version, non?
Partant de là, pourquoi une formule utilisant des fonctions présentes dans Excel ne fonctionnerait pas sur un Excel 2013 (et quelque soit la version d'Office)
Je ne vois de cas où cela pourrait se produire???
 

Discussions similaires

Statistiques des forums

Discussions
313 257
Messages
2 096 609
Membres
106 682
dernier inscrit
faferrand