Trier adresse postale

manu4461

XLDnaute Nouveau
Bonjour à tous !

je suis nouveau sur ce forum qui m'a été vivement recommandé !


J'ai aujourd'hui un fichier de 2300 lignes,
les colonnes comprennent des adresses, compléments d'adresse, CP, Ville, etc..

je souhaite TRIER ces adresses par nom de rue (ou boulevard, mail, square etc..)

sachant que :
-il y a parfois un chiffre comme : 1 rue machin
- parfois 2, comme : 12 rue machin
- parfois 3, comme : 123 boulevard machin
- parfois une lettre après, comme : 12A avenue machin
- parfois une virgule après le chiffre comme : 12, rue machin
- parfois un espace entre le chiffre et la virgule comme : 12 , rue machin

j'ai déjà essayé pas mal de choses comme des tri personnalisé, ou encore convertir pour séparer les numéros, mais rien de concluant.

je n'ai pas une énorme maitrise d'excel je ne connais pas le VBA, ni regex, ni les macros. mais je comprend facilement les choses !

merci d'avance,
cordialement,
 
Dernière édition:

manu4461

XLDnaute Nouveau
Re : Trier adresse postale

bonsoir david84, il n'y a pas suffisamment d'adresses dans le fichier que j'ai envoyé.
en revanche on remarque que les "rue du mont st michel" ne sont pas à suivre et c'est ça que je souhaite faire,
regrouper/trier les même nom de rue
 

david84

XLDnaute Barbatruc
Re : Trier adresse postale

MERCI c'est pas mal mais ne fonctionne plus pour les boulevards et avenues.
est ce possible de créer quelque chose pour qu'il recherche les syntaxes identiques de lui même ??
Je réitère ma demande : merci de bien vouloir placer un fichier exemple comportant un onglet où sont notés manuellement les résultats attendus afin de bien comprendre ta demande (pas la peine d'avoir beaucoup de données mais elles doivent être explicites).
A+
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Manu, Victor, David, Tedga,

@TEDGA, bienvenu sur XLD.
Quelques règles :
1- Quand on arrive sur un fil, on dit bonjour.
2- On évite les majuscules, gras, rouge. A la fois impoli, voire agressif.
3- "Ca ne marche pas" ne veut strictement rien dire. Quoi ? Pourquoi ? Quelle solution ne marche pas ? ...

@manu, j'ai bien peur que sans VBA vous trouviez toujours des exceptions. Les configurations possibles sont trop nombreuses. Un défi à relever.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re bonjour tout le monde,
Un premier essai en VBA. Je cherche un mot signifiant dans l'adresse :
"rue", "avenue", "boulevard", "place", "impasse", "chemin", "allée", "ave", "bd"
et je sépare à partir de cet endroit. Avec :
VB:
Sub Extract()
    Mot = Array("rue", "avenue", "boulevard", "place", "impasse", "chemin", "allée", "ave", "bd")
    Application.ScreenUpdating = False
    DL = Range("A65500").End(xlUp).Row
    For L = 2 To DL
        Chaine = ""
        tablo = Split(Cells(L, "A"), " ")
        For i = 0 To UBound(tablo)
            For k = 0 To UBound(Mot)
                If LCase(tablo(i)) = LCase(Mot(k)) Then
                    For C1 = 0 To i - 1
                        Chaine = Chaine & " " & tablo(C1)
                    Next C1
                    Cells(L, "E") = Chaine
                    Chaine = ""
                     For C1 = i To UBound(tablo)
                        Chaine = Chaine & " " & tablo(C1)
                    Next C1
                    Cells(L, "F") = Chaine
                    Chaine = ""
                End If
            Next k
            If Trim(Cells(L, "F")) = "" Then Cells(L, "F") = Cells(L, "A")
        Next i
    Next L
End Sub
On peut optimiser, trier .... mais uniquement si une solution VBA est acceptée sinon inutile de perdre du temps. :)
 

Pièces jointes

  • adresses.xlsm
    23.5 KB · Affichages: 6

Statistiques des forums

Discussions
312 295
Messages
2 086 960
Membres
103 406
dernier inscrit
elliott.joliman@bforbank.