Récupérer Code postal parmis une adresse complète
Résolu
zlatan40
Messages postés
43
Statut
Membre
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 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
- Code postal - Télécharger - Vie quotidienne
- Adresse mac - Guide
- Recuperer message whatsapp supprimé - Guide
- Darkino nouvelle adresse - 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