Garder seulement des données à droite d'un caractère

Résolu/Fermé
Franjuju Messages postés 12 Date d'inscription jeudi 7 février 2019 Statut Membre Dernière intervention 9 mai 2019 - Modifié le 7 févr. 2019 à 17:01
 Papy - 8 févr. 2019 à 19:35
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
A voir également:

2 réponses

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
1
Franjuju Messages postés 12 Date d'inscription jeudi 7 février 2019 Statut Membre Dernière intervention 9 mai 2019
7 févr. 2019 à 17:58
Merci beaucoup, ça fonctionne! :)
0
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
0
Franjuju Messages postés 12 Date d'inscription jeudi 7 février 2019 Statut Membre Dernière intervention 9 mai 2019
8 févr. 2019 à 15:24
Merci infiniment, je t'en suis très reconnaissant ! :)
0
C'est avec plaisir, content de t'avoir aidé et cela m'a permis de retravailler les formules EXCEL.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
7 févr. 2019 à 17:25
Bonjour,

ne garder que ce
Dans la meme colonne ou ??
0
Franjuju Messages postés 12 Date d'inscription jeudi 7 février 2019 Statut Membre Dernière intervention 9 mai 2019
7 févr. 2019 à 17:47
Bonjour,

Je n'ai pas été assez précis, mais c'est à transposer dans une colonne à part
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié le 7 févr. 2019 à 17:58
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
0