Excel: Extraire des données d'une même cellule avant virgule

Résolu
Al -  
 Ofa86 -
Bonjour,

Ma cellule contient des données qui peuvent contenir une virgule. Lorsqu'il y en a une, j'aimerais pouvoir extraire les données contenues avant la 1ère virgule quelle que soit leur longueur, sinon toutes les données de la cellule.
Exemple: si la cellule contient 'DUPONT, Jean-Paul, Paris', j'aimerais pouvoir n'extraire que 'DUPONT', et si la cellule contient 'DUPONT', alors 'DUPONT' devra être extrait.
Comment faire?

Je vous remercie pour votre aide!

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    ton texte en A13
    =SI(ESTERR(CHERCHE(",";A13;1));A13;GAUCHE(A13;CHERCHE(",";A13;1)-1))

    Cdlmnt
    5
    1. Al
       
      Bonjour ccm81,

      Je viens d'essayer la formule proposée, et elle bien aboutit au résultat attendu!

      Je t'en remercie énormément!

      Bonne journée!
      0
    2. Ofa86
       
      Merci bcp
      0
  2. eljojo_e Messages postés 1255 Statut Membre 155
     
    Bonjour,

    voici ma solution :

    Function extract(z As String) As String
    ma = Len(z)
    For a = 1 To 1000
    If ma = a Then
    extract = "Pas de virgule détecté"
    Exit Function
    End If
    If Right(Left(z, a), 1) = "," Then
    extract = Left(z, a - 1)
    Exit Function
    End If
    Next
    End Function


    Tu n'as plus qu'à ecrire la fonctionne dans une cellule =extract(tacellule) et c'est bon.

    Cordialement,

    Mesurer la masse de sa connerie permettrait dans connaitre sa gravité ;)
    0
    1. Al
       
      Merci eljojo_e!
      0
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       
      @eljojo_e
      Pour la solution macro, la fonction instr renvoie 0 ou le rang d'un sous_texte dans un texte

      Public Function AvantLaVirgule(s As String) As String
      If InStr(1, s, ",") = 0 Then
      AvantLaVirgule = s
      Else
      AvantLaVirgule = Left(s, InStr(1, s, ",") - 1)
      End If
      End Function

      Cdlmnt
      0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    =SI(ESTERREUR(CHERCHE(",";B2));B2;GAUCHE(B2;CHERCHE(",";B2)))

    non valable si "dupont jean" r
    0