Microsoft 365 remplacer caractères

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à toutes,
Je vous souhaite un bon et beau WE :)

Je bute encore une fois sur un codage que je n'arrive pas à faire.
Et je me permets de vous solliciter à nouveau.
Contexte
Nos Clients ou nvx Clients nous envoient par mail des listes de communes à prospecter.
Afin de ne pas prospecter les communes pour trop de Clients, je vérifie les communes que nous avons déjà en prospection.
Pour cela j'ai un classeur, avec un code fait avec l'enregistreur de macro, pour remplacer le maximum de cas rencontrés, qui va pas trop mal lol

Les Clients m'envoient leurs communes en écritures diverses et variées LOL
Pour que je puisse vérifier dans mon classeur, il est impératif que les communes comparées soient "rigoureusement" nommées à l'identique.

Toutefois, c'est incomplet, je gère plus de 4000 communes et je suis trop souvent obligé de passer bcp de temps pour vérifier manuellement.

J'ai obtenu de je ne sais plus qui du forum un code (mes excuses pour l'avoir oublié et mes remerciements à nouveau) qui fonctionne très bien pour certains remplacements de caractères :
VB:
Function Sans_accents(chaine As Range)
   Dim T As String, A As String, B As String
   Dim i As Integer, U As String
   If chaine.Value = "" Then Exit Function
   T = chaine.Value
   'remplacement des caractères accentués
   A = "ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿçÇ"
   B = "AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiionooooouuuuyycC"
   For i = 1 To Len(T)
      U = InStr(1, A, Mid(T, i, 1), 0)
      If U Then Mid(T, i, 1) = Mid(B, U, 1)
   Next i
   Sans_accents = T
End Function
Malheureusement, j'ai d'autres remplacements à faire et je n'arrive pas à trouver comment faire le code
exemple :
8400 ardeuil-a-montfauxelles
8400 ardeuil_a_montfauxelles

Résultats attendus
8400 ardeuil a montfauxelles
8400 ardeuil a montfauxelles

etc...

J'ai fait un fichier test dans lequel :
- en colonne A (a4 à a38) j'ai listé les noms de communes à modifier,
- en colonne D j'ai listé les résultats attendus,

Auriez-vous la solution ?
Cela me ferait gagner un temps considérable.
Je joins le fichier test,
Avec mes remerciements,
lionel,
 

Pièces jointes

  • forum_test.xlsm
    18.3 KB · Affichages: 9
Dernière édition:
Solution
C
Re,

Non le nombre de chiffres du code postal ne me pose pas de problème

Voici la dernière version avec d'autres exemples, j'ai également pensé à traiter le cas
8400 l' Espace après l'apostrophe :p

@+
C

Compte Supprimé 979

Guest
Salut Lionel et merci à toi de m'accorder cette confiance ;)

C'est un peu plus ardus, vu qu'il fallait ajouter un traitement intermédiaire.
En effet dans ces cas, on ne doit traiter que le début de la chaine et pas tout le reste

J'espère que ton code postal est toujours composé de 4 chiffres :p

Voici le fichier modifié
 

Pièces jointes

  • UsineAGaz_forum_test v4.xlsm
    21 KB · Affichages: 5

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir BrunoM45,
Merci d'être encore là.
malheureusement, le code postal peut avoir 5 chiffres.
Mais si c'est est moins hard, on peut également traiter sans les chiffres (je peux m'en passer),
Juste comme le fichier joint.
Encore merci à toi :)
lionel,
 

Pièces jointes

  • UsineAGaz_forum_test v4.xlsm
    20.7 KB · Affichages: 2
C

Compte Supprimé 979

Guest
Re,

Non le nombre de chiffres du code postal ne me pose pas de problème

Voici la dernière version avec d'autres exemples, j'ai également pensé à traiter le cas
8400 l' Espace après l'apostrophe :p

@+
 

Pièces jointes

  • UsineAGaz_forum_test v5.xlsm
    21.6 KB · Affichages: 3
Dernière modification par un modérateur:

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 917
Membres
101 839
dernier inscrit
laurentEstrées