Supriession d'une chaine da caractère excel
Résolu
ibral
-
ibral -
ibral -
Bonjour,
Dans une collonne excel, je souhaite suprimer les crochets [ et ] et récupérer la chaine du premier entre crochet, pour compliquer le problème le nombre de caractère entre les crochets est variable exemple:
[toto]
[bonbon]
[bi*da-]
[tata]/[titi]
je suis sur excel 2003.
merci d'avance
Dans une collonne excel, je souhaite suprimer les crochets [ et ] et récupérer la chaine du premier entre crochet, pour compliquer le problème le nombre de caractère entre les crochets est variable exemple:
[toto]
[bonbon]
[bi*da-]
[tata]/[titi]
je suis sur excel 2003.
merci d'avance
Configuration: Windows XP Internet Explorer 6.0
9 réponses
-
Bonjour,
regarde si cette fonction personnalisée répond à ta demande
les mots sont séparés par un "/"
Function enleve_crochets(ByRef texto As String) As String Dim reg As Object Dim extraction As Object Dim tablo Set reg = CreateObject("vbscript.regexp") reg.Global = True reg.Pattern = "([^][])" Set extraction = reg.Execute(texto) For Each digit In extraction enleve_crochets = enleve_crochets & (digit.Value) Next digit tablo = Split(enleve_crochets, "/") enleve_crochets = tablo(0) Set extraction = Nothing Set reg = Nothing End Function
edit 12:30h ajouter extraction uniquement du 1° mot
-
Re, excuses moi j'avais très mal lu ta demande
si tu veux extraire que le premier mot sans crochets quelque soit la séparation entre mots, il n'y a pas besoin de mon usine à gaz avec des expressions régulières !!!
Function enleve_crochets(ByRef texto As String) As String Dim tablo tablo = Split(texto, "]") enleve_crochets = Right(tablo(0), Len(tablo(0)) - 1) End Function
-
-
Avec par exemple de la substition, ou si non c'est qui le caractère qui représente le début de chaine de caractère.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
oui, mais tu as écris ta demande dans le forum programmation...donc j'ai réagi en langage de programmation XL-VBA
si tu veux par formule, il eut été plus efficace de poster ta demande sur le forum bureautique.
Je regarde une formule et te propose ca -
par exemple, 1 solution parmi d'autres
=DROITE(GAUCHE(D8;CHERCHE("]";D8)-1);NBCAR((GAUCHE(D8;CHERCHE("]";D8)-2)))) -
ou sinon un simple replace(replace(variable,"[",""),"]","") fonctionne (je vien de le tester)
-
Salut,
Peut être comme cela
=SUBSTITUE(SUBSTITUE(GAUCHE(A1;CHERCHE("/";A1)-1);"[";"");"]";"") -