Recuperer des chiffres entre parenthese et en faire la somme [Résolu]

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

6 réponses

Meilleure réponse
Messages postés
11192
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 octobre 2019
1451
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62637 internautes nous ont dit merci ce mois-ci

Commenter la réponse de via55
Messages postés
42
Date d'inscription
vendredi 19 août 2016
Statut
Membre
Dernière intervention
25 mars 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
11192
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 octobre 2019
1451
0
Merci
La solution sera alors par une fonction en VBA
Commenter la réponse de via55
Messages postés
50048
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
13 octobre 2019
10889
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
42
Date d'inscription
vendredi 19 août 2016
Statut
Membre
Dernière intervention
25 mars 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
11192
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 octobre 2019
1451
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
50048
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
13 octobre 2019
10889
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