Séparer une chaine de caractère ()

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

maval

XLDnaute Barbatruc
Bonjour

J'aimerai trouvé un code VBA ou une formule pour séparer une chaine de caractère de la façon suivante en sachant que j'ai environ 400 lignes dans ma feuille:
De la colonne "B" Barzoï (Lévrier Russe)
vers la colonne "C" Barzoï
vers la colonne"D" (Lévrier Russe)

Si la colonne "B" na pas de parenthèse "()" ex: Barbet alors
vers la colonne "C" Barbet
vers la colonne"D"


Je vous remercie d'avance
Cordialement
Maval
 

Pièces jointes

Re : Séparer une chaine de caractère ()

Bonjour Piga25,

Oui mais le problème est que des que tu as un nom seul sa ne fonctionne pas.

J'avais essayer avec les formule de Roger 2327 que je salut au passage mais je n'arrive pas.
Code:
Option Explicit

Function toto(x)
    toto = Split(x, "(", 2)
End Function

Function tutu(x)
Dim Tmp
    Tmp = Split(x, "(", 2)
    If UBound(Tmp) < 1 Then Tmp = Array("", "")
    tutu = Tmp
End Function

Function tata(x)
Dim Tmp
    Tmp = Split(x, "(", 2)
    If UBound(Tmp) > 0 Then Tmp(1) = " (" & Tmp(1) Else Tmp = Array("", "")
    tata = Tmp
End Function

@+
Et merci

Max
 
Re : Séparer une chaine de caractère ()

Bonjour à tous,

Si j'ai bien compris la demande, une solution en formules:
En C3 :
Code:
=SI(B4="";"";SI(ESTERREUR(TROUVE("(";B4));B4;GAUCHE(B4;TROUVE("(";B4)-1)))
En D3 :
Code:
=SI(C4=B4;"";DROITE(B4;NBCAR(B4)-NBCAR(C4)))
ces formules seront recopiées vers le bas le long du tableau...

En pièce jointe, l'application de ces formules...

Cordialement
 

Pièces jointes

Re : Séparer une chaine de caractère ()

Bonjour hbenalia

Je te remercie beaucoup exactement la recherche. Juste une petite modif si tu le permet, a tu une idée comment je peut récupéré une fois découper la chaine la colonne "C et D" sans les formules?

Merci beaucoup et bon WE

Max
 
Re : Séparer une chaine de caractère ()

Bonjour à tous,

@ maval,

connaissant l'utilisation ultérieure du fichier, fais gaffe à la formule proposée par hbenalia en colonne C car il reste un espace en dernière position du résultat lorsqu'il y a qq chose entre ()

et

en colonne D, les résultats sont tous précédés d'un espace

Je sais que tu vas t'en servir dans le fichier sur lequel j'ai travaillé si tu ne corriges pas tu risques de voir souvent:
Code:
MsgBox ("l'élément cherché est absent et/ou mal orthographié")

sois aussi attentif à ce que le nom des images ne comporte pas de parenthèses

à+
Philippe
 
Re : Séparer une chaine de caractère ()

Re,

le fichier en retour
voir commentaire dans le code

à+
Philippe

Edit: je te laisse finaliser le fichier tout seul comme un grand, je suis absent jusqu'à lundi (marché artisanal; exposition de mes réalisations)
 

Pièces jointes

Dernière édition:
Re : Séparer une chaine de caractère ()

Bonjour à tous

Pour supprimer les espaces selon la remarque de phlaurent55 en début et fin des noms et même ne garder qu'un seul espace entre les mots du même nom on utilisera la fonction SUPPRESPACE() comme appliqué en pièce jointe... Pour récupérer une fois découpées les chaines des colonnes C et D sans les formules tu feras comme la indiqué phlaurent55 en #7...

L'idée de Staple 1600est aussi efficace sauf peut-être pour les espaces en question et les noms contenant plusieurs parenthèses "("...

Cordialement
 

Pièces jointes

Dernière édition:
Re : Séparer une chaine de caractère ()

Bonjour,

Je vous ai réaliser le petit bout de code en fichier joint

laurent
 

Pièces jointes

- 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

Discussions similaires

Réponses
20
Affichages
717
Réponses
10
Affichages
389
Réponses
3
Affichages
469
Retour