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

extraire les pourcentages dans des parenthèses

  • Initiateur de la discussion Initiateur de la discussion CHTING
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

CHTING

Guest
Bonjour à tous,

j'ai deux problématiques
Premièrement, dans la colonne A, j'ai des cellules qui comprennent du texte avec des parenthèses
Je souhaite extraire dans la colonne C les pourcentages qui sont dans les parenthèses et de transferer le reste du texte dans la colonne B. Le problème est que le texte dans les cellules de la colonne A peut contenir plusieures parenthèses. Seul les parenthèses comprenant un pourcentage % m'intéresse pour la colonne C.


Deuxièmement je souhaite colorié les cellules de la colonne D en fonction de certains mots contenus dans les cellules de la colonne B. Par exemple : colorier en rouge la cellule de la colonne D lorsque la cellule de la colonne B contient les mots "patate" ou "melon".

Pour clarifier, je vous joins un exemple.

Par avance,
Merci à vous tous.
 

Pièces jointes

Re : extraire les pourcentages dans des parenthèses

Bonjour CHTING,


Voir fichier joint ?

excfl
 

Pièces jointes

Re : extraire les pourcentages dans des parenthèses

Re,


Deux problèmes :

* " les cellules de la colonne A peuvent contenir plusieurs parenthèses"

* le contenu entre parenthèses n'est pas numérique : comment distinguer : (0-1 %) avec (cancer) ?

Une approche cependant :

=STXT(A3;CHERCHE("(*)";A3)+1;CHERCHE(")";A3)-CHERCHE("(*)";A3)-1)

excfl
 

Pièces jointes

Re : extraire les pourcentages dans des parenthèses

Bonjour CHTING, excfl,

Voyez le fichier joint et ces deux fonctions VBA :

Code:
Function EXTRAIRE1$(t$)
Dim i%, j%
For i = Len(t) - 1 To 1 Step -1
  If Mid(t, i, 2) = "%)" Then
    j = i
    i = InStrRev(Left(t, i), "(")
    t = Application.Replace(t, i, j + 2 - i, "") 'REMPLACER
  End If
Next
EXTRAIRE1 = Application.Trim(t) 'SUPPRESPACE
End Function

Function EXTRAIRE2$(t$)
Dim i%, j%
For i = Len(t) - 1 To 1 Step -1
  If Mid(t, i, 1) = vbLf Then EXTRAIRE2 = vbLf & EXTRAIRE2
  If Mid(t, i, 2) = "%)" Then
    j = i
    i = InStrRev(Left(t, i), "(")
    EXTRAIRE2 = Mid(t, i + 1, j - i) & EXTRAIRE2
  End If
Next
End Function
Pour la formule de la MFC sur la colonne D ce n'est guère compliqué :

Code:
=NB(CHERCHE("patate";$B1);CHERCHE("melon";$B1))
Edit : bien entendu sur Excel 2007 n'enregistrez pas le fichier en .xlsx mais en .xlsm...

A+
 

Pièces jointes

Dernière édition:
Re : extraire les pourcentages dans des parenthèses

Re,

Bonjour job75,

* le contenu entre parenthèses n'est pas numérique : comment distinguer : (0-1 %) avec (cancer) ?


Une solution sans macro : mais une seule parenthèse par ligne.

=SI(ESTNUM(STXT(A6;CHERCHE("(*)";A6;1)+1;1)*1);STXT(A6;CHERCHE("(*)";A6)+1;CHERCHE(")";A6)-CHERCHE("(*)";A6)-1);"")

excfl
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

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