Menu

Recuperer des chiffres entre parenthese et en faire la somme

Messages postés
38
Date d'inscription
vendredi 19 août 2016
Dernière intervention
7 janvier 2019
- - Dernière réponse : GuillaumeCha
Messages postés
38
Date d'inscription
vendredi 19 août 2016
Dernière intervention
7 janvier 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 !
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
10139
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
20 janvier 2019
1270
1
Merci
Bonjour

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

Cdlmnt
Via

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 56822 internautes nous ont dit merci ce mois-ci

Commenter la réponse de via55
Messages postés
38
Date d'inscription
vendredi 19 août 2016
Dernière intervention
7 janvier 2019
1
0
Merci
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 !
Commenter la réponse de GuillaumeCha
Messages postés
10139
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
20 janvier 2019
1270
0
Merci
La solution sera alors par une fonction en VBA
Commenter la réponse de via55
Messages postés
47975
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
21 janvier 2019
15495
0
Merci
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 ?
GuillaumeCha
Messages postés
38
Date d'inscription
vendredi 19 août 2016
Dernière intervention
7 janvier 2019
1 -
Salut !
Je ne choisis pas ! C'est extrait comme ca de mon ERP malheureusement...
D'ou ma recherche de solution sur Excel !
Commenter la réponse de Raymond PENTIER
Messages postés
10139
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
20 janvier 2019
1270
0
Merci
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
Commenter la réponse de via55
Messages postés
47975
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
21 janvier 2019
15495
0
Merci
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 ...
Commenter la réponse de Raymond PENTIER