Recuperer des chiffres entre parenthese et en faire la somme

Résolu/Fermé
GuillaumeCha Messages postés 42 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 25 mars 2019 - 4 janv. 2019 à 18:14
GuillaumeCha Messages postés 42 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 25 mars 2019 - 7 janv. 2019 à 15:52
Bonjour a tous !

Voila je n'arrive pas a trouver de solution a mon probleme.
Je vous explique:
Dans une colonne, j'ai une suite de nombre avec certain entre parenthese.
Exemple:
Cellule A1: 46(5)
Cellule A2: 54(12)
Cellule A3: 64(4), 2511(12), 24(7)

Et je souhaite, dans une nouvelle colonne avoir la somme des chiffres entre parentheses:
Le resultat donnerai:
Cellule B1: 5
Cellule B2: 12
Cellule B3: 23
(parce que 4+12+7)
Et bien sur il faut que cela soit des chiffres a la sortie et pas considere comme du texte.

Quelques petites choses en prime:
les chiffres entre parenthese ne peuvent etre compris qu'entre 1 et 999 (nombre a 3 chiffres maximum)
Il peut y avoir un nombre de parenthese maximum de 6 ou 7 (ca sera deja assez rare)
En terme d'ecriture, la colonne A est normalise, c est a dire qu'il n y aura jamais un espace entre le chiffre qui precede des parentheses et la parenthese, il y aura toujours une virgule qui suit la parenthese etc. Comme le montre la cellule A3.

Je suis surtout a la recherche d'une formule plutot que d'une macro, quitte a qu'elle soit longue. Apres si c est vraiment pas possible, une macro fera l'affaire !

Je vous remercie d'avance et vous laisse me poser vos questions si vous en avez !

Bonne soiree et bon week end !
A voir également:

6 réponses

via55 Messages postés 14504 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 21 décembre 2024 2 738
4 janv. 2019 à 18:36
Bonjour

Pas besoin d'une formule trop longue mais de plusieurs colonnes
Exemple à adapter :
https://mon-partage.fr/f/9qJwRngs/

Cdlmnt
Via
1
GuillaumeCha Messages postés 42 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 25 mars 2019 4
5 janv. 2019 à 16:08
Salut Via,

Merci pour ton aide et en effet cela marche mais c'est long et cela cree un grand nombre de colonne sur un fichier qui est deja bien large.

Je cherche quelque chose de plus rapide (1 ou 2 formules) et qui ne prend pas trop de place (1 ou 2 colonnes)

Merci en tout cas et j espere qu une solution existe !
0
via55 Messages postés 14504 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 21 décembre 2024 2 738
5 janv. 2019 à 16:27
La solution sera alors par une fonction en VBA
0
Raymond PENTIER Messages postés 58777 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 décembre 2024 17 258
5 janv. 2019 à 16:33
Bonjour.

Oui, j'ai une question : Pourquoi diable avoir saisi ce genre de données, très difficiles à exploiter ?
Tu connais le fonctionnement d'Excel ; tu devrais donc saisir 46 en A1 ; 5 en B1 ; 54 en A2 ; 12 en B2 ; 64 en A3 ; 4 en B3 ; 2511 en C3 ; 12 en D3 ; 24 en E3 ; 7 en F3.
Tous les calculs, les tris, les filtres, les recherches en seraient grandement facilités.
Donc pourquoi ce mode de saisie d'expressions alphanumériques, qui devront donner lieu à des calculs ?
0
GuillaumeCha Messages postés 42 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 25 mars 2019 4
7 janv. 2019 à 15:52
Salut !
Je ne choisis pas ! C'est extrait comme ca de mon ERP malheureusement...
D'ou ma recherche de solution sur Excel !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
via55 Messages postés 14504 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 21 décembre 2024 2 738
5 janv. 2019 à 16:52
La solution par fonction VBA

Mettre cette macro dans un module
Function somme_parentheses(plage As Range)
tablo = Split(plage.Value, ",")
For t = 0 To UBound(tablo)
m = Application.WorksheetFunction.Substitute(tablo(t), ")", "")
d = Application.WorksheetFunction.Find("(", m)
c = Right(m, Len(m) - d)
Total = Total + Val(c)
Next
somme_parentheses = Total
End Function


Pour avoir la somme des parenthèses de B2 :
=somme_parentheses(B2)

@ Raymond , salut et bonne année
Entièrement d'accord avec toi !

Cdlmnt
Via
0
Raymond PENTIER Messages postés 58777 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 décembre 2024 17 258
5 janv. 2019 à 17:03
Salut, Via, et tous mes vœux, très sincères !

PourGuillaume, avec les données simples (sans virgule) la formule est
=CNUM(STXT(A:A;TROUVE("(";A:A)+1;TROUVE(")";A:A)-TROUVE("(";A:A)-1))

Je te laisse chercher pour les données multiples que tu refuses d'éclater en plusieurs colonnes ...
0