Faire le total des cellules

Bonjour le forum,

Dans ma colonne D2 à D92 j'ai ces infos: Ex

~600 (dont Metro Cash & Carry)"

Quelle est la formule pour faire le total alors qu'elles contiennent du texte?

Merci de votre aide.

Alain

Hello Alain,

Si vous souhaitez connaître le nombre de cellule non vide d'une plage pouvez utiliser la formule =NBVAL(Plage).

Ou souhaiteriez-vous calculer la somme des données numérique dans vos lignes ?

N'hésitez pas à joindre un fichier exemple.

A+,
Kilian

Bonjour

Avec un extrait du fichier cela ira mieux pour solutionner

Crdlt

Bonjour alain_83740, Kilian1906, Joco7915, le forum,

Pouvez-vous essayer ceci :

=SOMMEPROD(CNUM(GAUCHE(SUBSTITUE($D2:$D92;"~";"");CHERCHE(" ";$D2:$D92)-1)))

À condition que toutes vos lignes soient remplies (pas de vides).

Cordialement.

AL 22

Merci pour vos réponses Joco7915, Killian1906,

Voici un bout de fichier.

Ou souhaiteriez-vous calculer la somme des données numérique dans vos lignes ? Oui c'est cela

25forum.xlsx (9.91 Ko)

Bonjour à tous,

une proposition mais elle ne supporte pas la "double valeur numérique" et elle ne retourne qu'une décimale :

=SIERREUR(STXT(SUBSTITUE(B2;" ";"");EQUIV(0;ESTERREUR(STXT(SUBSTITUE(B2;" ";"");LIGNE(INDIRECT("1:"&NBCAR(SUBSTITUE(B2;" ";""))));1)*1)*1;0);NBCAR(SUBSTITUE(B2;" ";""))-SOMME(ESTERREUR(STXT(SUBSTITUE(B2;" ";"");LIGNE(INDIRECT("1:"&NBCAR(SUBSTITUE(B2;" ";""))));1)*1)*1))*1;0)

Le fichier :

9forum-lrd.xlsx (11.41 Ko)

Plus propre serait une fonction personnalisée, mais pour cela il faut accepter le VBA, est-ce le cas ?

@ bientôt

LouReeD

Bonjour LouReed,

Plus propre serait une fonction personnalisée, mais pour cela il faut accepter le VBA, est-ce le cas ? Hélas non

bonjour

au plus facile ,,,

j'ai essayé en vain de faire directement en creant une matrice virtuelle ,,, mais niet

11alain83-200.xlsx (9.87 Ko)

Tulipe_4, si d'ici demain il n'y a pas de solution, ben... je supprimerais tout les texte à la main, cellule part cellule.

Merci pour ta réponse

Alain

Hello tout les monde,

Voici une solution en utilisant une RegEx.
Le problème étant qu'il est compliqué d'utiliser cette formule s'il y a plusieurs valeurs numériques dans une cellule.

J'ai fais plusieurs essaies mais rien de concluant pour l'instant...

=SOMMEPROD(CNUM(SUBSTITUE(REGEX.EXTRAIRE(Tableau1[Nb Magasin];"\d[\d\s]*");" ";"")))

A+,
Kilian

un autre essai ...

16alain83-200.xlsx (10.30 Ko)

Bonjour,

les deux dernière propositions sont pour Excel 365, non ? Car moi 2021 et je n'est pas SPLIT ni REGEX...

@ bientôt

LouReeD

@LouReeD, problème linguistique chez MS ... oubien nous sommes plus malin ????

Tekst.splitsen (version néérlandais) existe depuis 2016 dit l'aide MS

image

Fonction Textsplit (francophone) existe depuis 365

image

Alors, si même une année de version ne fait pas la compatibilité !

Perso je ne vois pas écrire en néerlandais juste pour cette fonction !

@ bientôt

LouReeD

tu l'écris en Belge

Re,

Une formule qui fonctionne avec les données du classeur fourni.

=SIERREUR(STXT(SUBSTITUE(B2:B5;" ";"");EQUIV(0;ESTERREUR(STXT(SUBSTITUE(B2:B5;" ";"");LIGNE(INDIRECT("1:"&NBCAR(SUBSTITUE(B2:B5;" ";""))));1)*1)*1;0);NBCAR(SUBSTITUE(B2:B5;" ";""))-SOMME(ESTERREUR(STXT(SUBSTITUE(B2:B5;" ";"");LIGNE(INDIRECT("1:"&NBCAR(SUBSTITUE(B2:B5;" ";""))));1)*1)*1))*1;0)+SOMMEPROD(SIERREUR(CNUM(SIERREUR(SUBSTITUE($B2:$B5;"~";"");0));0))+SOMMEPROD(SI(ESTNUM(CHERCHE("+";$B2:$B5));CNUM(STXT($B2:$B5;TROUVE("~";$B2:$B5)+1;TROUVE("(";$B2:$B5;TROUVE("~";$B2:$B5))-TROUVE("~";$B2:$B5)-1));0))+SOMMEPROD(CNUM(SIERREUR(STXT($B2:$B5;TROUVE("~";$B2:$B5;TROUVE("~";$B2:$B5)+1)+1;TROUVE("(";$B2:$B5;TROUVE("~";$B2:$B5;TROUVE("~";$B2:$B5)+1))-TROUVE("~";$B2:$B5;TROUVE("~";$B2:$B5)+1)-1);0)))

Un tout petit peu lourde, mais bon...

Cordialement.

AL 22

re

Allons y de bon coeur ,,, résultat direct , formule light

13alain83-2025.xlsx (10.29 Ko)

Bonsoir à tous !

Une approche.... via Power Query ?

image

Bonsoir à tous de nouveau !

Pour le "fun" une approche REGEX, type formule unique et dynamique en F2 :

=BYROW(Tableau1[Nb Magasin];LAMBDA(x;SOMME(SIERREUR(REGEX.EXTRAIRE(x;"[\d\s]+";1)*1;0))))
image

ok ,mais Regex , c'est de la triche

Rechercher des sujets similaires à "total"