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

Résolu
Franjuju Messages postés 12 Statut Membre -  
 Papy -
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

2 réponses

  1. Papy
     
    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
    1. Franjuju Messages postés 12 Statut Membre
       
      Merci beaucoup, ça fonctionne! :)
      0
    2. Papy
       
      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
    3. Franjuju Messages postés 12 Statut Membre
       
      Merci infiniment, je t'en suis très reconnaissant ! :)
      0
    4. Papy
       
      C'est avec plaisir, content de t'avoir aidé et cela m'a permis de retravailler les formules EXCEL.
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    ne garder que ce
    Dans la meme colonne ou ??
    0
    1. Franjuju Messages postés 12 Statut Membre
       
      Bonjour,

      Je n'ai pas été assez précis, mais c'est à transposer dans une colonne à part
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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