Menu

Garder seulement des données à droite d'un caractère [Résolu]

Messages postés
4
Date d'inscription
jeudi 7 février 2019
Dernière intervention
8 février 2019
-
Bonjour à tous,

Tout d'abord je tiens à préciser que je me suis renseigné j'ai lu beaucoup de sujet concernant mon problème mais aucunes des solutions proposées ne convenait à mon cas de figure. Vous me seriez d'une aide immense si vous trouvez la solution à mon problème ! :)

1) Pour faire simple, j'ai un tableau excel avec des centaines de ligne présentées ainsi :

Assistant Concepteur Redacteur - Laura KAL
Assistant Directeur Artistique - Oriane LESA
Concepteur-Rédacteur - Corentin SALI
CR à assigner - A assigner CR
DA - Emmanuelle BOUGUE
DA - Bruno OLI
TEAM - Antoine et Thomas - Thomas ROQU
TEAM - Aurélie & Bénédicte - Benedicte PELLET

J'aimerais donc, grâce à une fonction, ne garder que ce qui est en gras et donc les prénoms et nom après le dernier "-" de droite.




2) J'ai une autre colonne présenté ainsi :

RENT A.S. - DCF - DACA OO AVRIL 2019 [BF031-05-03]
RENT A.S. - DCF - ZO NO [BF031-0437-98]
BP PAS SA - Timesheet Wth anment [BF031-044-08]
GE AA FNCE - Timesheet AA FNE IARD 2019 [BF031-0658-00]
NTE FRB .A.S. - Cr_ation d [BF031-0591-00]
RENT A.S. - Central -go S_rie Limit Le Sport [BF031-050-01]
Gungd Mole - Timesheet Oo 2019 [BF031-059-00]

J'aimerais donc cette fois ne garder que ce qui est en gras et donc entre le premier "-" et le premier "["

J'ai essayé beaucoup de fonctions proposées sur d'autres sujets mais aucunes n'a fonctionné.

Merci beaucoup pour votre aide !!

Configuration: Windows / Chrome 71.0.3578.98
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
1
Merci
Bonjour Franjuju,

Voici ce que j'ai trouvé pour le point 1, pour le 2 je cherche.

Voici la formule à coller dans la cellule à droite du texte, dans mon essai le texte était placé en B3
=DROITE(B3;((NBCAR(B3)-CHERCHE(" - ";B3)-1)))

Il faut enlever le tiret qui se trouve à la droite du mot TEAM et Concepteur sinon la formule compte le nbre de carac. à partir du 1er tiret.

Papy

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 57888 internautes nous ont dit merci ce mois-ci

Franjuju
Messages postés
4
Date d'inscription
jeudi 7 février 2019
Dernière intervention
8 février 2019
-
Merci beaucoup, ça fonctionne! :)
Bjrs Franjuju,

Et voici la formule pour le point 2 à coller dans la cellule à droite du texte, dans mon essai le texte était placé en B20:

=STXT(B20;TROUVE("-";B20)+2;TROUVE("[";B20)-TROUVE("-";B20)-2)

J'ai trouvé cette formule sur "www.developpez.net/forums/d1600559/logiciels/microsoft-office/excel" que j'ai adapté à ton problème.

Bien à toi.
papy
Franjuju
Messages postés
4
Date d'inscription
jeudi 7 février 2019
Dernière intervention
8 février 2019
-
Merci infiniment, je t'en suis très reconnaissant ! :)
C'est avec plaisir, content de t'avoir aidé et cela m'a permis de retravailler les formules EXCEL.
Commenter la réponse de Papy
Messages postés
14066
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
17 février 2019
1301
0
Merci
Bonjour,

ne garder que ce
Dans la meme colonne ou ??
Franjuju
Messages postés
4
Date d'inscription
jeudi 7 février 2019
Dernière intervention
8 février 2019
-
Bonjour,

Je n'ai pas été assez précis, mais c'est à transposer dans une colonne à part
f894009
Messages postés
14066
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
17 février 2019
1301 -
Re,

Vba: je suppose que vous connaissez…………………….

Les lettres colonnes sont a adapter

1) Pour faire simple
Sub decoupe1()
    With Worksheets("feuil1")
        lig = 1
        Do While .Cells(lig, "A") <> ""
            Txt = .Cells(lig, "A")
            pos = InStrRev(Txt, "-") + 1
            Txt1 = Mid(Txt, pos, Len(Txt) - pos)
            .Cells(lig, "B") = Txt1
            lig = lig + 1
        Loop
    End With
End Sub

2) J'ai une autre colonne
Sub decoupe2()
    With Worksheets("feuil1")
        lig = 1
        Do While .Cells(lig, "C") <> ""
            Txt = .Cells(lig, "C")
            pos = InStr(Txt, "-") + 1
            Txt1 = Mid(Txt, pos, Len(Txt) - pos)
            TxtT = Split(Txt1, "[")
            .Cells(lig, "D") = TxtT(0)
            lig = lig + 1
        Loop
    End With
End Sub
Commenter la réponse de f894009