Microsoft 365 formules pour remplacer les caractères "st" et "ste" en début de chaine de texte ou dans la chaine si séparés par 1 espace avant et 1 espace après

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Bonjour à toutes et à tous,

Me voilà devant un nouveau souci :mad:

Pour mon fichier communes de France, environ 40000 communes, j'ai besoin de remplacer les caractères "st" et "ste" en début de chaine de texte ou dans la chaine si séparés par 1 espace avant et 1 espace après.
Pour le début de chaine, pas de souci.

Mais voilà avec ma formule actuelle en colonne "E" du fichier test joint, tous les st ou ste, où qu'ils soient positionnés dans la chaine sont remplacés par "saint" ou "sainte".
Evidemment, cela me change les noms des communes et ça ne fait pas mon affaire lol ou plutôt pas lol du tout :mad:

A l'instant, malgré mes recherches et tentatives, je n'ai pas trouvé la solution.
Auriez-vous la bonne formule ?
Fichier test joint,

Je continue mes recherches.
A grand merci par avance,
Amicalement,
lionel,
 

Pièces jointes

  • formule_test.xlsx
    13.9 KB · Affichages: 10
Solution
Bonsoir Lionel, Chris401, laurent950,

Le VBA est superflu ici.

Décortique cette formule en C6, elle n'est pas trop compliquée :
Code:
=SUPPRESPACE(SUBSTITUE(SUBSTITUE(" "&A6;" ste ";" sainte ");" st ";" saint ")&" ("&TEXTE(B6;"00000")&")")
A+

job75

XLDnaute Barbatruc
Bonsoir Lionel, Chris401, laurent950,

Le VBA est superflu ici.

Décortique cette formule en C6, elle n'est pas trop compliquée :
Code:
=SUPPRESPACE(SUBSTITUE(SUBSTITUE(" "&A6;" ste ";" sainte ");" st ";" saint ")&" ("&TEXTE(B6;"00000")&")")
A+
 

Pièces jointes

  • formule_test(1).xlsx
    13.8 KB · Affichages: 4

laurent950

XLDnaute Accro
Dsl, j'ai rien compris lol :)
mais je pars de la ligne 6
Pour faire un test (Avec votre fichier en Poste #27) sans modifier le code VBA
en ligne 25 de votre fichier ajouter en colonne :
A25 = ste croix a lauze
B25 = 4110
C25 = (C'est votre formule) soit : =A25&" ("&B25&")"

Lancer ensuite la macro et en
E25 = La macro donnera le résultat ci-dessous
Sainte croix a lauze (4110)

Faite le test
 

Discussions similaires

Réponses
34
Affichages
4 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 812
dernier inscrit
abdouami