Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Extraction caractères entre parenthèses

Jb2605

XLDnaute Nouveau
Bonjour,

J'ai recherché sur le fofo, une solution proche de mon problème, en vain.
Je pense qu'il faut une formule matricielle, mais je n'arrive pas à la structurer.

J'ai une suite de caractères du type : aaaaaa (aaa) et je souhaite extraire le contenu des parenthèses (sachant que le contenu des parenthèses est variable).

Merci d'avance.
JB
 

gilbert_RGI

XLDnaute Barbatruc
Re : Extraction caractères entre parenthèses

Bonjour

en VBA

Code:
Sub essai()
ActiveCell = Val(Mid(ActiveCell.Offset(0, -2), InStr(ActiveCell.Offset(0, -2), "(") + 1))
End Sub

ou avec une fonction perso

Code:
Function tr(texte As String)
l = Val(Mid(texte, InStr(texte, "(") + 1))
tr = l
End Function

ou encore comme ceci si entre les parenthèse il n'y a que des chiffres

=STXT($C8;TROUVE("(";$C8)+1;TROUVE(")";$C8)-TROUVE("(";$C8)-1)

 
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : Extraction caractères entre parenthèses

Bonjour,

Une autre solution formule :

Code:
=STXT(A1;TROUVE("(";A1)+1;TROUVE(")";A1)-TROUVE("(";A1)-1)

Je te laisse tester

@+
 

Staple1600

XLDnaute Barbatruc
Re : Extraction caractères entre parenthèses

Bonjour à tous


Il est aussi possible d'utiliser Données/Convertir
Séparateur : (


EDITION: ce qui donnerait ceci en VBA
Code:
Sub Macro1()
Dim dl&
dl = [A65536].End(xlUp).Row
    Range("A1:A" & dl).TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="(", FieldInfo:=Array(Array(1, 9), Array(2, 1))
   Range("B1:B" & dl).TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :=")", FieldInfo:=Array(Array(1, 1), Array(2, 9))
End Sub
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Extraction caractères entre parenthèses

Bonjour le fil, bonjour le forum,

J'ose malgré le retard une autre proposition VBA :
Code:
Sub Macro1()
For Each cel In Range("A1:A" & Range("A65536").End(xlUp).Row)
    cel.Offset(0, 1).Value = Left(Split(cel, "(", -1)(1), Len(Split(cel, "(", -1)(1)) - 1)
Next cel
End Sub
 

Discussions similaires

Réponses
3
Affichages
432
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…