Bonjour Tout le monde,
Petite aide : Est-il possible d'extraire facilement et en simultané d'additionner les chiffres de cette cellule ?
A1 contient : 11 et 7 M et 2 ME
J'aimerais que le total soit donc de 20.
Merci pour votre aide,
Vincent
Bonjour Tout le monde,
Petite aide : Est-il possible d'extraire facilement et en simultané d'additionner les chiffres de cette cellule ?
A1 contient : 11 et 7 M et 2 ME
J'aimerais que le total soit donc de 20.
Merci pour votre aide,
Vincent
hello,
un exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub test() Dim Nombres, Total As Integer, i Nombres = Split(Range("A1"), " ") For i = 0 To UBound(Nombres) If IsNumeric(Nombres(i)) Then Total = Total + Nombres(i) Next i MsgBox Total End Sub
Merci beaucoup, cela fonctionne parfaitement.
Cependant j'aimerais que le résultat s'inscrive dans ma cellule B1, est ce possible ?
Pour tout vous dire je ne pensais pas passer par un VBA car plus lourd à qualifier.
Je souhaitais de base passer par une formule Excel, cependant je ne trouve pas de formule simple à utiliser![]()
à la place de MsgBox Total mettez Range("B1") = Total
Je ne vois pas comment faire via des formules, à moins d'avoir des contraintes comme un nombre fixe de valeur et ou de texte défini
Bonjour Jièl,
Avec les nouvelles fonctions d'Office365, on doit pouvoir réaliser cela mais je n'ai pas le temps de chercher pour l'instant sinon il suffit de transformer ta procédure Sub en Function et ainsi on peut l'utiliser dans Excel comme une fonctionJe ne vois pas comment faire via des formules, à moins d'avoir des contraintes comme un nombre fixe de valeur et ou de texte défini
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Function Extract(Text As String) Dim Nombres, Total As Integer, i Nombres = Split(Text, " ") For i = 0 To UBound(Nombres) If IsNumeric(Nombres(i)) Then Total = Total + Nombres(i) Next i Extract = Total End Function
Hello Philippe,
bonne idée la fonction.
Si tu as un peu de temps je serais curieux de voir si c'est possible avec des formules, je fais toujours parti des A.M.I.S. (Anti Macros Inutilement Superfétatoire)![]()
Bonsoir
J'avais (un peu) plus de temps que Philippe Tulliez (que je salue), voici donc ma proposition à mettre en B1.
Cette formule ne fonctionne que sous 365.
Je n'ai pas cherché à l'améliorer à partir du moment où elle a donné le bon résultat.
=SOMME(SIERREUR(CNUM((FRACTIONNER.TEXTE(A1;" ")));0))
Sur le principe, on sépare sur les espaces, puis on convertit en numérique.
Le problème est qu'il reste des #Valeur qui empêche de faire la somme. D'où le SIERREUR qui renvoie des 0 dans ce cas.
Puis on fait la SOMME.
En espérant que cela aide
Pierre Dumas
Bien vu Pierre, j'avais oublié le FRACTIONNER.TEXTE, j'avais tenté avec une matricielle mais bof...
Bienvenue dans le club des AMIS![]()
Bonjour Jièl, Pierre,
Une autre solution =SOMME(FILTRE.XML("<t><s>" & SUBSTITUE(A1; " "; "</s><s>") & "</s></t>";"//s[number(.)=number(.)]"))
Uniquement pour 365 ou en matricielle depuis 2013
Et avec 365 on peut l'encapsuler dans la fonction LAMBDA et ensuite la nommer
Pour la tester
et ensuite dans le gestionnaire des noms et alors =SommeTexte(A1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 =LAMBDA(texte; SOMME( FILTRE.XML( "<t><s>" & SUBSTITUE(texte; " "; "</s><s>") & "</s></t>"; "//s[number(.)=number(.)]" ) ) )("11 7 M 2 ME")
![]()
Waouh...
Ben celle là elle est balèze.
Je n'ai jamais utilisé FILTRE.XML et je ne connaissais pas du tout la syntaxe.
Bon, ben je vois que les AMIS sont toujours là
Vincent A, vous avez l'embarras du choix![]()
Il semblerait que je fasse également partie des A.M.I.S dans ce cas ahah
Je vous remercie pour votre implication et bienveillance, comme toujours sur ce forum.
Je ne cesse de progresser grâce à vous, et merci le problème est bien résolu![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager