Supprimer texte après les 3 dernières virgules

steph1950 Messages postés 2 Statut Membre -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voilà plusieurs jours que je cherche une formule. Voici mon exemple :

En A1 :
Commande: Sélecteur rotatif, Type de nettoyage: Swiss-Clean-Email, Tension (V): 220-240, Hauteur (cm) 85, Largeur (cm) 60, Profondeur (cm) 60

Résultat souhaité :
Commande: Sélecteur rotatif, Type de nettoyage: Swiss-Clean-Email, Tension (V): 220-240

Le nombre de caractère n'est jamais identique, en gros j'ai besoin d'une formule qui pourrait me supprimer le texte à partir de l'avant-avant-dernière virgule (y compris la virgule) OU extraire le texte qui se trouve avant l'avant-avant-dernière virgule.

Avez-vous une solution ?

Merci

1 réponse

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
     
    Bonjour,

    Avec :
    =STXT(A1;1;TROUVE(CAR(1);SUBSTITUE(A1;",";CAR(1);NBCAR(A1)-NBCAR(SUBSTITUE(A1;",";""))-2))-1)

    PS : avant-avant-dernière se dit antépenultième
    0
    1. steph1950 Messages postés 2 Statut Membre
       
      Parfait, merci beaucoup..

      Puis-je avoir une explication de la formule ?

      Merci
      0
    2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
       
      Re,

      Nombre d’occurrences du caractère cherché (ici la virgule) :
      NBCAR(A1)-NBCAR(SUBSTITUE(A1;",";"")

      On remplace l'antépénultième virgule par un caractère spécial (ici SOH, Start of Header = CAR(1)) :
      SUBSTITUE(A1;",";CAR(1);NBCAR(A1)-NBCAR(SUBSTITUE(A1;",";""))-2)

      On cherche la position de ce caractère :
      TROUVE(CAR(1);SUBSTITUE(A1;",";CAR(1);NBCAR(A1)-NBCAR(SUBSTITUE(A1;",";""))-2))

      Et finalement on extrait le texte précédent ce caractère.
      0