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

XL 2016 Garder uniquement le contenu situé entre les parenthèses

  • Initiateur de la discussion Initiateur de la discussion FAFA01
  • 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 !

FAFA01

XLDnaute Nouveau
Bonjour,
je cherche un moyen de ne conserver que les chiffres situé à l'intérieur d'une cellule (quelque soit l'endroit)
ou
comment ne conserver que les caractères qui se trouvent à l'intérieur des parenthèses

ex : MONT-BLANC/LEMAN F+18 à X (20232420010159RST) ou R C LAPALISSOIS (5826H)
dans ces deux exemples je souhaiterai qu'il ne conserve que 20232420010159 et 5826

merci pour votre retour

cordialement
alain
 

Pièces jointes

re
Bonjour Bonjour
@mapomme

tant qu'a faire limite les galopages

VB:
Function ChiffresEntrePar(ByVal x As String) As String
Dim i&, c, r
   If Not x Like "*(*)*" Then Exit Function
   x = Split(Split(x, "(")(UBound(Split(x, "("))), ")")(0)
   If x = "" Then Exit Function
   For i = 1 To Len(x): c = Mid(x, i, 1): r = r & IIf(c Like "#", c, ""): Next
   ChiffresEntrePar = r
End Function

ou comme ça

VB:
Function ChiffresEntrePar(ByVal x As String) As String
Dim i&, c, r
   If Not x Like "*(*)*" Then Exit Function
   x = Split(x, "(")(UBound(Split(x, "(")))
   If x = "" Then Exit Function
   For i = 1 To InStr(1, x, ")"): c = Mid(x, i, 1): r = r & IIf(c Like "#", c, ""): Next
   ChiffresEntrePar = r
End Function

ou bien encore comme ça
VB:
Function ChiffresEntrePar(ByVal x As String) As String
Dim i&, c, r
   If Not x Like "*(*)*" Then Exit Function
   x = Mid(x, InStrRev(x, "("), InStrRev(x, ")"))
   If x = "" Then Exit Function
   For i = 1 To len(x): c = Mid(x, i, 1): r = r & IIf(c Like "#", c, ""): Next
   ChiffresEntrePar = r
End Function

ou bien on rend encore la chose plus rigolotte en recursif
VB:
Function ChiffresEntrePar(ByVal x As String, Optional I As Long = 0) As String
 Static chain As String
   If Not x Like "*(*)*" Then Exit Function
   If I = 0 Then chain = "": x = Mid(x, InStrRev(x, "("), InStrRev(x, ")"))
    I = I + 1: If Mid(x, I, 1) Like "#" Then chain = chain & Mid(x, I, 1)
    If I < Len(x) Then ChiffresEntrePar x, I
     ChiffresEntrePar = chain
End Function
🤣
 
re
et une autre mais la variable "chain" n'est plus staitic mais volante
VB:
Function ChiffresEntrePar(ByVal x As String, Optional I As Long = 0, Optional chain As String) As String
   If Not x Like "*(*)*" Then Exit Function
   If I = 0 Then chain = "": x = Mid(x, InStrRev(x, "("), InStrRev(x, ")"))
    I = I + 1: If Mid(x, I, 1) Like "#" Then chain = chain & Mid(x, I, 1)
    If I < Len(x) Then ChiffresEntrePar x, I, chain
     ChiffresEntrePar = chain
End Function
et aussi la présser comme un citron
VB:
Function ChiffresEntrePar(ByVal x As String, Optional I As Long = 0, Optional chain As String) As String
    If Not x Like "*(*)*" Then Exit Function
   If I = 0 Then chain = "": x = Mid(x, InStrRev(x, "("), InStrRev(x, ")"))
   If I < Len(x) Then: chain = chain & IIf(Mid(x, I + 1, 1) Like "#", Mid(x, I + 1, 1), ""): ChiffresEntrePar x, I + 1, chain
     ChiffresEntrePar = chain
End Function
 
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…