Supprimer texte après les 3 dernières virgules

Fermé
steph1950 Messages postés 2 Date d'inscription mardi 26 juin 2018 Statut Membre Dernière intervention 26 juin 2018 - 26 juin 2018 à 15:32
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 26 juin 2018 à 16:54
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

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié le 26 juin 2018 à 16:16
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
steph1950 Messages postés 2 Date d'inscription mardi 26 juin 2018 Statut Membre Dernière intervention 26 juin 2018
26 juin 2018 à 16:17
Parfait, merci beaucoup..

Puis-je avoir une explication de la formule ?

Merci
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
26 juin 2018 à 16:54
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