Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !
Heureusement !(...) au fait Roger, le Quai Quette, je vois à peu près où cela se situe (...)
Function Glossaire2(c As String) As String
Dim oRegExp As RegExp
Set oRegExp = New RegExp
c = Trim(c)
With oRegExp
.Global = True
.IgnoreCase = True
.Pattern = "(^|.*\b)((?:(?:ALL(?:É|E)E|ARCADE|AVENUE|BAIE|BALCON|BOULEVARD|BUTTE|CARREFOUR|CENTRE(?: DE FORMATION)?|" _
& "CHAUSS(?:É|E)E|CHEMIN(?: COMMUNAL| RURAL| PRIV(?:É|E))?|CIT(?:É|E)|(?:EN)?CLOS|COUR|DOM(?:.|AINE)|(?:É|E)CLUSE|" _
& "ESPACE|ESPLANADE|GALERIE|GRILLE|HAMEAU|IMPASSE|JARDIN|LIEU(?:-|\s)DIT|LOT(?:.|ISSEMENT)|MAISON|MONT(?:É|E)E|PARVIS|" _
& "PASS(?:AGE|ERELLE)|P(?:É|E)RISTYLE|PLACE(?:TTE)?|PONT|PROMENADE|QUAI|ROND(?:(?:-|\s)POINT)?|PARC|PLAN|PORT(?:E|IQUE)?|" _
& "R(?:É|E)SIDENCE|(?:AUTO)?ROUTE|RUE(?:LLE)?|SENT(?:E|IER)|SQUARE|TERRASSE|VILLA|VOIE|Z.?A.?C?.?|Z.?I.?|Z.?U.?P?.?)(?:S|X)?)" _
& "\s+(?:AUX? |(?:À|A) (?:L')?|D'|DU |LA |LES? |DES? (?:LA |L')?)?)(.*)"
If .Test(c) = True Then c = Replace(Replace(.Replace(c, "$3 ($1 $2)"), " ( ", " ("), " )", ")")
.Pattern = "\s{2,}"
If .Test(c) = True Then c = .Replace(c, " ")
End With
Glossaire2 = Trim(c)
Set oRegExp = Nothing
End Function
résidence les mas de la mer
résidence le mail
résidence la tonnellerie
lotissement les amarats
les karantes de la mer
le sirius
la corniche
j'ai finalement inclus votre demande au sein de la fonction, non pas en l'incluant dans le motif traitant des voies de circulation, mais en incluant un autre motif à la suite.les karantes de la mer
le sirius
la corniche
Function Nemounet11(c As String) As String
Dim oRegExp As RegExp
Set oRegExp = New RegExp
c = Trim(c)
With oRegExp
.Global = True
.IgnoreCase = True
.Pattern = "(^|.*\b)((?:(?:ALL(?:É|E)E|ARCADE|AVENUE|BAIE|BALCON|BOULEVARD|BUTTE|CARREFOUR|CENTRE(?: DE FORMATION)?|" _
& "CHAUSS(?:É|E)E|CHEMIN(?: COMMUNAL| RURAL| PRIV(?:É|E))?|CIT(?:É|E)|(?:EN)?CLOS|COUR|DOM(?:.|AINE)|(?:É|E)CLUSE|" _
& "ESPACE|ESPLANADE|GALERIE|GRILLE|HAMEAU|IMPASSE|JARDIN|LIEU(?:-|\s)DIT|LOT(?:.|ISSEMENT)|MAS|MAISON|MONT(?:É|E)E|PARVIS|" _
& "PASS(?:AGE|ERELLE)|P(?:É|E)RISTYLE|PLACE(?:TTE)?|PONT|PROMENADE|QUAI|ROND(?:(?:-|\s)POINT)?|PARC|PLAN|PORT(?:E|IQUE)?|" _
& "R(?:É|E)SIDENCE|(?:AUTO)?ROUTE|RUE(?:LLE)?|SENT(?:E|IER)|SQUARE|TERRASSE|VILLA|VOIE|Z.?A.?C?.?|Z.?I.?|Z.?U.?P?.?)(?:S|X)?)" _
& "\s+(?:AUX? |(?:À|A) (?:L')?|D'|DU |LA |LES? |DES? (?:LA |L')?)?)(.*)"
If .Test(c) = True Then c = Replace(Replace(.Replace(c, "$3 ($1 $2)"), " ( ", " ("), " )", ")")
.Pattern = "\s{2,}"
If .Test(c) = True Then c = .Replace(c, " ")
.Pattern = "^(les?|la)\s([ A-Z0-9]+)" 'traitement de "la corniche" ou "la corniche 11"
If .Test(c) = True Then c = .Replace(c, "$2 ($1)")
End With
Nemounet11 = Trim(c)
Set oRegExp = Nothing
End Function
D'accord sur le principe mais je ne suis pas sûr que le but de nemounet11 soit d'utiliser ce traitement à des fins d'adressage (mais peut-être ai-je mal compris).Je suis ce fil avec beaucoup d'intérêt (Cf. mes premiers posts sur ce forum) et constate avec plaisir que le sujet est particulièrement bien traîté. Attention, toutefois, les derniers posts prennent une direction "dangereuse" : la norme AFNOR97 qui régit la structure des adresses postales en France impose des contraintes...
Au maximum, 6 lignes de 38 caractères. Les 3 dernières doivent être saisies en majuscules, sans accent ou caractère diacritique.
Détails ici.
Option Explicit
'Fonction de David84 pour Excel Downloads le 12/07/2012
'http://www.excel-downloads.com/forum/187569-gestion-automatique-du-nom-des-rues-ecrit-sous-la-forme-cauquene-allee-de.html
'Cocher la référence Microsoft VBScript Regular Expressions 5.5 dans Outils=>Références
'ou utiliser un Late Binding pour déclarer l'objet :
'Dim oRegExp as Object à la place de Dim oRegExp As RegExp
'Set oRegExp=createobject("vbscript.regexp") à la place de Set oRegExp = New RegExp
Function Nom_de_voie(c As String) As String
Dim oRegExp As RegExp
Set oRegExp = New RegExp
c = Trim(c)
With oRegExp
.Global = True 'précise si la recherche porte sur la première occurence ou sur toutes
.IgnoreCase = True 'précise si la recherche est sensible ou non à la casse (majuscules/minuscules)
.Pattern = "\s{2,}" 'épurage des espaces supérieures à 1 caractère
If .Test(c) = True Then c = .Replace(c, " ")
'Traitement de la voie
.Pattern = "(^|.*\b)((?:ALL(?:É|E)ES?|ARCADES?|AVENUES?|BAIES?|BALCONS?|BOULEVARDS?|BUTTES?|CARREFOURS?|" _
& "CENTRES?(?: DE FORMATIONS?)?|CHAUSS(?:É|E)ES?|CHEMINS?(?: COMMUNA(?:L|UX)| RURA(?:L|UX)| PRIV(?:É|E)S?)?|" _
& "CIT(?:É|E)S?|(?:EN)?CLOS|COURS?|DOM(?:.|AINES?)|(?:É|E)CLUSES?|ESPACES?|ESPLANADES?|GALERIES?|GRILLES?|" _
& "HAMEAUX?|IMPASSES?|JARDINS?|LIEUX?(?:-|\s)DITS?|LOT(?:.|ISSEMENTS?)|MA(?:S|ISONS?)|MONT(?:É|E)ES?|PARVIS|" _
& "PASS(?:AGE|ERELLE)S?|P(?:É|E)RISTYLES?|PLACE(?:TTE)?S?|PONTS?|PROMENADES?|QUAIS?|RONDS?(?:(?:-|\s)POINTS?)?|" _
& "PARCS?|PLANS?|PORT(?:E|IQUE)?S?|R(?:É|E)SIDENCES?|(?:AUTO)?ROUTES?|RUE(?:LLE)?S?|SENT(?:E|IER)S?|SQUARES?|" _
& "TERRASSES?|VILLAS?|VOIES?|Z.?A.?C?.?|Z.?I.?|Z.?U.?P?.?)" _
& "\s(?:AUX? |(?:À|A) (?:L')?|D'|DU |LA |LES? |DES? (?:LA |L')?)?)(.*)"
If .Test(c) = True Then Nom_de_voie = Replace(.Replace(c, "$3 ($1$2)"), " )", ")")
End With
Set oRegExp = Nothing
End Function
We use cookies and similar technologies for the following purposes:
Est ce que vous acceptez les cookies et ces technologies?
We use cookies and similar technologies for the following purposes:
Est ce que vous acceptez les cookies et ces technologies?