Extraire et additionner des chiffres se trouvant dans une cellule
charlienux
-
via55 Messages postés 14393 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14393 Date d'inscription Statut Membre Dernière intervention -
Bonjour, voici quelques exemples de contenu d'une cellule:
-5x360L -2x140L -1x240SE -1x360SE +1x240LB +2x240SE
-8x240L +3x240LB
+1x360L
Je souhaiterais extraire tous les chiffres se trouvant devant "x" puis les additionner sans prise en compte de leur signe.
Je suis parti de =GAUCHE(H2;TROUVE("x";H2)-1)*1 mais pour le coup je n'ai pas l'ensemble de la cellule.
Merci de votre aide.
-5x360L -2x140L -1x240SE -1x360SE +1x240LB +2x240SE
-8x240L +3x240LB
+1x360L
Je souhaiterais extraire tous les chiffres se trouvant devant "x" puis les additionner sans prise en compte de leur signe.
Je suis parti de =GAUCHE(H2;TROUVE("x";H2)-1)*1 mais pour le coup je n'ai pas l'ensemble de la cellule.
Merci de votre aide.
3 réponses
-
Bonjour charlienux
Formule un peu longue pour le 1er cas :
=STXT(H2;TROUVE("/";SUBSTITUE(H2;"x";"/";1))-1;1)*1+STXT(H2;TROUVE("/";SUBSTITUE(H2;"x";"/";2))-1;1)*1+STXT(H2;TROUVE("/";SUBSTITUE(H2;"x";"/";3))-1;1)*1+STXT(H2;TROUVE("/";SUBSTITUE(H2;"x";"/";4))-1;1)*1+STXT(H2;TROUVE("/";SUBSTITUE(H2;"x";"/";5))-1;1)*1+STXT(H2;TROUVE("/";SUBSTITUE(H2;"x";"/";6))-1;1)*1
SUBSTITUE permet de remplacer le 1er x ou le 2me etc
Cdlmnt
Via
-
Bonjour,
La formule de via55 est pas mal, mais ne me semble convenir que si la quantité devant le "x" varie de 1 à 9...
Une fonction VBA récursive me semblerait plus efficace.
A+ -
Bonjour Zoul
Fonction personnalisée en VBAFunction addx(plage As Range) tablo = Split(plage.Value, "x") For n = 0 To UBound(tablo) tot = tot + Val(Right(tablo(n), 1)) Next addx = tot End Function
s'utilise selon la syntaxe =addx(H2)