Réorganisation des noms

Bonjour,

Voila je suis dans de gros fichier de rue à trié, plus de 6000 rues et je dois les réorganisés.
Je joins un exemple en fichier.
Donc dans la colonne A j’ai les noms de rues et je dois les réorganisés comme dans la colonne B
il existe une formule pour le faire automatiquement? peut etre en plusieurs colonnes???

Merci à vous

Michael

rues test.xlsx (9,4 Ko)

Bonjour,

On peut dégrossir le problème avec une macro, mais il restera probablement quelques corrections à faire à la main.
La première chose à faire est d’harmoniser les majuscules / minuscules.
Un Exemple : Rues test.xlsm (74,2 Ko)
La feuille BdD contient les paramètres pris en compte (on peut ajouter des mots aux listes).

Bonjour,
Patrice33740, un grand merci à vous, exactement ce qu’il me faut.
Sauf, que je comprends comment vous avez fait pour mettre les formules et les parametres.
Comme je vais dire pour: Place de la vielle il indique pas Vielle (Place de la)

j’arrive pas à comprendre comme vous avez fait.

Pourriez vous m’explique un peu plus, si cela vous dérange pas.

encore mille merci à vous

ps: vous pouvez aussi le faire en pv si vous voulez

Michael

Re,

Voici quelques explications :
La première macro, MajRuePropre() et la fonction RuePropre() servent à harmoniser les majuscules / minuscules dans les adresses et faire quelques corrections.

Pour cela, elle fait les actions suivantes sur chaque adresse :

  • Mettre l’adresse en minuscule
  • Ajouter un espace après l’apostrophe des articles listés dans la colonne « Apostrophes » de la feuille BdD.
  • Mettre une masjucule au début de chaque mot avec la fonction StrConv(adresse, vbProperCase)
  • Supprimer l’espace ajouté précédemment (après l’apostrophe des articles)
  • Remplacer les articles listés dans la colonne « Articles » par leur équivalent en minuscule
  • Corriger les mots listés dans la colonne « Avant » en les remplaçant par ceux de la colonne « Après »
  • Corriger les mots listés dans la colonne « Acronymes » en rétablissant la casse prévue (majuscules/minucules).

La seconde procédure, Sub ReOrganiser() sert à réorganiser les adresses comme tu le veux :
Pour cela elle commence par :

  • Etablir un dictionnaire (une table) des types de voie répertoirées dans la colonne « Types »
  • Etablir un dictionnaire des articles répertoirées dans la colonne « Articles », convertis en minuscules

Ensuite elle analyse chaque adresse et n’agit que sur celles qui commence par un mot du dictionnaire des Types :

  • Ajouter un espace et une parenthèse à la fin de l’adresse
  • Déplacer le mot (type) du début vers la fin de l’adresse
  • Ensuite, regarder si l’adresse commence par un des articles du dictionnaire des articles :
    – si c’est le cas, elle déplacer l’article à la fin de l’adresse et recommencer tant que c’est le cas.
    – sinon fermer la parenthèse

Note 1 : la fonction RuePropre() pourrait être utilisée directement dans la feuille de calcul, par exemple en B2 écrire =RuePropre(A2) mais pour un grand nombre de lignes ce n’est pas intéressant car les calculs sont relativement longs et chronophages.

Note 2 : pour Place, Mae Culpa, ça ne fonctionne pas car dans la liste des Types, j’ai oublié d’ajouter un espace après le mot. Tu peux ajouter d’autres mots (par exemple Cité) sans oublier de terminer par un espace (et un seul)

Bonsoir Patrice33740,

Encore merci pour ton tutto.
Voila, le macro je connais pas vraiment car je suis pas un pro dans excel.
je vais apprendre doucement, et désoler pour cela.
on me demande beaucoup de chose au boulot et je dois apprendre sur le tas on va dire.

je reviens vers la fin de ton tutto:

Note 2 : pour Place, Mae Culpa, ça ne fonctionne pas car dans la liste des Types, j’ai oublié d’ajouter un espace après le mot. Tu peux ajouter d’autres mots (par exemple Cité) sans oublier de terminer par un espace (et un seul)

je comprends pas ou mettre l’espace dans la colonne type, j’ai testé plusieurs fois et je n’y arrive pas :unamused:

puis, si cela te dérange pas, je te demanderai encore quelques explications car franchement, j’ai besoin de savoir le faire de A à Z.

Merci

Michael

Sur la feuille BdD, dans la colonne Types (J) en J14 il y a écrit "Place" sans espace,
il faut écrire "Place " avec un espace à la fin du mot et en respectant la casse, 
c est à dire avec un "P" majuscule et le reste "lace" en minuscule et
un espace " " à la fin. 

Ensuite il faut relancer les 2 macros de la Feuil1 avec les boutons "Mettre à jour"

Quelles explications autres explications veux-tu ???

Bonsoir Patrice33740,
désoler pour la réponse tardive, beaucoup de boulot et rentré trés tard.
Ok voila j’ai trouvé pour l’espace ok ok.
Pour les autres explications j’y regarde demain soir et si je peux je reviens vers toi.

encore merci pour ton aide précieuse.

Michael

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.