bonsoir,
1ere formule, a pour but d'enlever tout ce qui précède M. ou Mme
=MID(S2;FIND("M.";SUBSTITUTE(S2;"Mme";"M."));1000)
(1) (2) et (3) représente le résultat des différentes étapes
(1) substitute(S2,"Mme","M.") prendre S2 et replacer Mme par M. (ceci permet de faire la recherche uniquement sur M.)
(2) find("M.",(1)) rechercher la position de M. dans (1)
(3) mid(S2,(2),1000), prendre 1000 caractère de S2 à partir de la position (2)
2ème formule, a pour but d'enlever de prendre le texte qui précède le premier chiffre et d'enlever le M. ou Mme initial (il s'agit 'une formule matricielle (validé par ctrl-Shift-Enter)
=TRIM(SUBSTITUTE(SUBSTITUTE(LEFT(T2;MATCH(TRUE;ISNUMBER(1*MID(T2;ROW($1:$300);1));0)-1);"M.";"");"Mme";""))
(1) ROW($1:$300) : crée une matrice avec les nombres de 1 à 300
(2) MID(T2;(1);1) : crée une matrice avec les 300 premiers caractères de T2
(3) ISNUMBER(1*(2));crée une matrice avec vrai ou faux (true or false, selon que le caractère est un chiffre ou non)
(4) MATCH(TRUE,(3),0) retourne la position dans la matrice (3) la première occurrence de true (= position du premier chiffre)
(5) LEFT(T2,(4)-1) prendre les (4)-1 premiers caractères de T2
(6) SUBSTITUTE((5),"M.", "") supprimer M.
(7) SUBSTITUE((6),"Mme","") supprimer Mme
(8) TRIM((7)) supprimer les blancs initiaux et finaux.
tu peux vérifier ces différentes étapes via le menu (version UK) formulas, evaluate formula (dans le groupe formula auditing), je ne connais pas l'équivalent de ces menus dans la version FR
pour moi, il est plus simple de passer via une fonction personnalisée. ces formules sont illisibles et difficiles à comprendre. mais tu voulais une formule sans macro.