Récupérer Code postal parmis une adresse complète
Résolu
zlatan40
Messages postés
42
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai vu sur ce sujet la réponse à ma question sur OO Calc. J'aimerais trouver l'équivalent sur Excel :-)
https://forum.openoffice.org/fr/forum/viewtopic.php?f=4&t=3729
J'ai une liste d'adresse en colonne A :
203 rue Victor Hugo 75000 Paris
5 avenue des lilas 59000 LILLE
1860 boulevard d Jean de La fontaine 31000 TOULOUSE
etc...
J'aimerais récupérer le code postal uniquement.
Cette formule le fait très bien sous Calc :
STXT(A1;CHERCHE("[0-9]";A1;NBCAR(A1)/4);5)
Sous Calc "[0-9]" permet de chercher soit 0 soit 1 soit 2 etc... Je n'ai pas trouvé comment reproduire cela sur Excel
Merci d'avance
J'ai vu sur ce sujet la réponse à ma question sur OO Calc. J'aimerais trouver l'équivalent sur Excel :-)
https://forum.openoffice.org/fr/forum/viewtopic.php?f=4&t=3729
J'ai une liste d'adresse en colonne A :
203 rue Victor Hugo 75000 Paris
5 avenue des lilas 59000 LILLE
1860 boulevard d Jean de La fontaine 31000 TOULOUSE
etc...
J'aimerais récupérer le code postal uniquement.
Cette formule le fait très bien sous Calc :
STXT(A1;CHERCHE("[0-9]";A1;NBCAR(A1)/4);5)
Sous Calc "[0-9]" permet de chercher soit 0 soit 1 soit 2 etc... Je n'ai pas trouvé comment reproduire cela sur Excel
Merci d'avance
A voir également:
- Récupérer Code postal parmis une adresse complète
- Code ascii - Guide
- Darkino nouvelle adresse - Guide
- Code postal - Télécharger - Vie quotidienne
- Adresse mac - Guide
- Recuperer message whatsapp supprimé - Guide
2 réponses
Bonjour,
en suivant le site indiqué ici:
https://forums.commentcamarche.net/forum/affich-35285266-recuperer-code-postal-parmis-une-adresse-complete#2
code vba:
Voilà
en suivant le site indiqué ici:
https://forums.commentcamarche.net/forum/affich-35285266-recuperer-code-postal-parmis-une-adresse-complete#2
code vba:
Option Explicit Dim Var As Variant Dim result As String Sub For_X_to_Next_Ligne() Dim FL1 As Worksheet, NoCol As Integer Dim NoLig As Long Dim longueur As Integer Set FL1 = Worksheets(ActiveSheet.Name) NoCol = 1 'lecture de la colonne A For NoLig = 1 To Range("A" & Rows.Count).End(xlUp).Row 'dernière ligne colonne A Var = FL1.Cells(NoLig, NoCol) If Var = "" Then Else FL1.Cells(NoLig, NoCol).Select extraireValeursNumeriques_DansChaine longueur = Len(result) 'longueur chaine numerique If longueur = 5 Then FL1.Cells(NoLig, NoCol + 1) = result 'code postal dans colonne B FL1.Cells(NoLig, NoCol) = Replace(FL1.Cells(NoLig, NoCol), result, "") 'supprime code postal dans la colonne A si utilité, sinon supprimer la ligne de code End If End If Next Set FL1 = Nothing End Sub Sub extraireValeursNumeriques_DansChaine() Dim i As Byte, nb As Byte Dim Cible As String, Resultat As String Dim Nombre As Double Cible = Var 'Pour que fonction Val puisse reconnaitre les décimales: Remplacement des 'virgules par des points Cible = Replace(Cible, ",", ".") 'Pour gérer deux nombres qui se suivent: remplacement des espaces 'par un caractère Alpha Cible = Replace(Cible, " ", "x") For i = 1 To Len(Cible) If IsNumeric(Mid(Cible, i, 1)) Then Nombre = Val(Mid(Cible, i, Len(Cible) - i + 1)) nb = nb + 1 Resultat = Resultat & Nombre & vbLf i = i + Len(Str(Nombre)) - 1 End If Next result = Nombre End Sub Private Sub CommandButton1_Click() For_X_to_Next_Ligne End Sub
Voilà
Merci pour la réponse, j'ai en effet trouvé sur un autre sujet comment faire autrement avec formule matricielle mais aussi sans.
https://forums.commentcamarche.net/forum/affich-2514762-excel-chaine-de-caracteres
Mais j'ai tout de même posé la question car cette formule est beaucoup plus simple et la possibilité de chercher plusieurs valeur, comme dans l'exemple [0-9], pourrait m'être très utile sur d'autres utilisations.
Merci
avec "[0-9]" j'ai l'impression qu'OO accepte les expressions régulières (REGEX).
Là il est en avance sur excel qui les ignore totalement (hors vba).
eric
C'est exactement ce que je voudrais savoir, est-ce possible ou non ?
je t'ai répondu : non, sauf vba.
cs_Le Pivert t'a fait une proposition en vba en dessous...
eric
Comme tu avais écrit "j'ai l'impression", je ne savais pas si tu étais sûr de ta réponse.
En effet, il y a plein d'autres moyens de le faire sinon :
- formule matricielle et VBA https://cellulexcel.blogspot.com/p/adresse-decoupage.html
- formule non matricielle https://www.cjoint.com/c/HDbkUmxjwDd
ou encore https://forums.commentcamarche.net/forum/affich-2514762-excel-chaine-de-caracteres
Donc il est bien impossible sous Excel d'utiliser les expressions régulières dans les formules
Merci