Extraction caractères entre parenthèses

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

Bonjour,

Si tu n'as qu'un groupe de parenthèses par cellule. Les données en A1 :

=STXT(A1;CHERCHE(CAR(40);A1)+1;CHERCHE(CAR(41);A1)-CHERCHE(CAR(40);A1)-1)

A+

bonjour

en admettant que ta chaine de caractère soit en B4

=STXT(B4;TROUVE("(";B4)+1;(TROUVE(")";B4)-TROUVE("(";B4))-1)

sauf erreur ça le fait !

cordialement

Merci à vous deux, les deux techniques marchent, avec un petit plus pour la première .

Un grand merci

Bonjour,

J'ai besoin d'extraire plusieurs chaines de caractères entre parenthèses vers une autre cellule, mais cette formule ne fonctionne pas...

Merci par avance de m'éclairer avec une autre formule

Bonjour et bienvenu(e),

Merci de joindre un fichier à ta demande.

Cdlt.

Jean-Eric a écrit :

Bonjour et bienvenu(e),

Merci de joindre un fichier à ta demande.

Cdlt.

Bonjour

Merci de votre accueil, voici ma formule qui ne fonctionne que pour la première chaine de caractère, j'aurais voulu trouver la formule qui copie ou coupe idéalement toutes les chaines de caractère.

Voici le fichier joint.

Merci par avance.

Cordialement

229test.xlsx (9.76 Ko)

Bonjour,

Le problème est que ce tableau n'est pas correct d'un point de vue conceptuel.

Les tableaux Excel, pour être considéré comme des tableaux doivent respecter des règles.

1) Les en-tête doivent avoir un nom

2) Pas de colonnes vides dans le tableau

3) Pas de lignes vides dans le tableau

Chaque ligne correspond à un enregistrement et les enregistrements répondent aussi à des règles.

4) Chaque cellules de l'enregistrement doivent avoir une valeur

5) Chaque valeur doit représenter une valeur atomique, à savoir le plus petit élément d'une valeur.

Dans ton exemple, tu enfreints la règle 5 qui empêche de conserver la fonctionnalité d'un tableau de données.

Donc, idéalement, chaque ligne doit correspondre à un produit et tu ne dois pas regrouper les mêmes types d’éléments dans une même cellule.

Bien à toi

Jp

jpbt84 a écrit :

Bonjour,

Le problème est que ce tableau n'est pas correct d'un point de vue conceptuel.

Les tableaux Excel, pour être considéré comme des tableaux doivent respecter des règles.

1) Les en-tête doivent avoir un nom

2) Pas de colonnes vides dans le tableau

3) Pas de lignes vides dans le tableau

Chaque ligne correspond à un enregistrement et les enregistrements répondent aussi à des règles.

4) Chaque cellules de l'enregistrement doivent avoir une valeur

5) Chaque valeur doit représenter une valeur atomique, à savoir le plus petit élément d'une valeur.

Dans ton exemple, tu enfreints la règle 5 qui empêche de conserver la fonctionnalité d'un tableau de données.

Donc, idéalement, chaque ligne doit correspondre à un produit et tu ne dois pas regrouper les mêmes types d’éléments dans une même cellule.

Bien à toi

Jp

Je "plussoie"

P.

Bonjour à tous,

Ne s'agissant pas d'un tableau Excel (ListObject), on conserve une plus grande liberté...

J'avais fait il y a quelque temps une fonction pour éliminer dans une chaîne les contenus entre parenthèses !

Je vais voir si je peux la retourner et faire l'inverse...

Cordialement.

Re,

Voilà une fonction personnalisée qui pourrait faire l'affaire :

Function EXTRACTENTRE(tx As String, c1 As String, c2 As String)
    Dim T, i%
    Application.Volatile
    T = Split(Replace(Trim(tx), c1, c2 & Chr(135)), c2)
    For i = 0 To UBound(T)
        If Left(T(i), 1) = Chr(135) Then
            T(i) = Replace(T(i), Chr(135), Chr(10))
        Else
            T(i) = ""
        End If
    Next i
    T = Replace(Join(T, c2), c2, "")
    EXTRACTENTRE = Replace(T, Chr(10), "", 1, 1)
End Function

S'utilise comme une fonction Excel ordinaire. On entre la formule :

=EXTRACTENTRE(A2;"(";")")

en lui désignant la référence de la cellule qui contient la chaîne, et les 2 caractères entre lesquels se trouvent les parties à extraire (pour ne pas être limité aux parenthèses dans l'utilisation de la fonction). On valide.

On valide également l'option de retour à la ligne automatique pour la cellule, de façon que lorsque plusieurs éléments sont à extraire, l'affichage se fasse avec retour à la ligne entre chaque élément extrait.

Cordialement.

191aligator-test.xlsm (16.37 Ko)

Bonjour MFerrand,

Exactement comme Aligator, je dois extraire plusieurs chaînes de caractères entre parenthèses. Dans mon cas il s'agit d'une répartition du temps par acteur. J'ai une celulle qui me donne la durée de la tâche (dt) et enfin une autre celulle concernant les acteurs concernés.

Dans le cas où plusieurs acteurs travaillent sur la tâche, je définis dans la cellule acteurs la répartition du temps grâce à un pourcentage.

Ma cellule sera de la forme " Jean (30) , Ludo (70)". Je souhaiterai obtenir le temps que chaque acteurs devra passer sur la tâche :

70%*dt pour Ludo et 30%*dt pour Jean

Comment faire pour extraire les données entre parenthèses tout en sachant que 70 concerne Ludo et 30 concerne Jean?

J'espère que je suis assez clair

Merci d'avance,

Mathieu

33test.xlsm (8.30 Ko)

Bonjour,

C'est un peu différent ! Proposition :

Function EXTRACTPART(tx As String, nom As String)
    Dim h%, v
    h = InStr(1, tx, nom, vbTextCompare)
    If h > 0 Then
        tx = Right(tx, Len(tx) - h - Len(nom))
        v = Val(Replace(Replace(tx, "(", ""), ",", "."))
        If v > 0 Then
            EXTRACTPART = v / 100: Exit Function
        End If
    End If
    EXTRACTPART = ""
End Function

Mettre la cellule au format % souhaité.

Cordialement.

96matlucky-test.xlsm (14.58 Ko)

C'est parfait! Merci beaucoup de ton aide!

Hello,

J'aurais besoin de vos lumières! J'ai besoin d'éliminer tout simplement des chaines de caractères entre parenthèses dans la même cellule, ne garder que le reste :

Exemple : BREWDOG DEAD PONY PALE ALE 33CL-C12 (5060154911794),

BREWDOG JACK HAMMER 33CL (5060154912128),

BREWDOG PUNK IPA 33CL-C12 (5060154910018),

BREWDOG PUNK IPA BOITE 50CL (5060154914030)

Je voudrais le résultat suivant :

BREWDOG DEAD PONY PALE ALE 33CL-C12,

BREWDOG JACK HAMMER 33CL ,

BREWDOG PUNK IPA 33CL-C12 ,

BREWDOG PUNK IPA BOITE 50CL

Mille merci par avance!

Bien cordialement

Bonjour,

Function EPURERENTRE(tx As String, c1 As String, c2 As String)
    Dim T, i%
    Application.Volatile
    T = Split(Replace(tx, c1, c2), c2)
    For i = 1 To UBound(T) Step 2
        T(i) = ""
    Next i
    EPURERENTRE = Replace(Join(T, c2), c2, "")
End Function

=EPURERENTRE(A1;"(";")")

Cordialement.

Geniaaaal!!! merciiiiiiiiiiiiiiiiiiiii

C'est vous le meilleur!!!!!!!!!!

Merci merci merci !!!

Bonjour,

C'est encore moi

J'ai un soucis en voulant enregistrer un TCD en tant que macro, ca bug au début déjà : ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _

"POINT adm!R1C1:R1048576C22", Version:=xlPivotTableVersion14). _

CreatePivotTable TableDestination:="POINT adm!R1C24", TableName:= _

"Tableau croisé dynamique7", DefaultVersion:=xlPivotTableVersion14

Je ne comprends pas grand chose...

J'aurais une autre question, comment créer une macro qui supprime des lignes sous conditions :

ex : si colonne I qui s'appelle ENSEIGNE = MONOPRIX et si la colonne P qui s'appelle CA_ESPACE

= 0 alors les lignes doivent être supprimées (il faut les deux conditions en même temps!

Mille merci M. FERRAND pour votre aide!

Bien Cordialment

Bonjour,

Cela fait 2 sujets, bien distincts du sujet initial...

Conseil : ouvrir un sujet pour chacune des questions, soigner les titres pour que l'attention des spécialistes de chacun soit captée...

Cordialement.

Ah oui vous avez raison mais c'est que je n'ai pas su ouvrir un sujet ..


Ah c'est bon j'ai créé deux demandes ! merciiiiiiiiiiiiiiiiiiiiii

Rechercher des sujets similaires à "extraction caracteres entre parentheses"