Microsoft 365 séparer une colonne au niveau d'une série de chiffres

noob-excel

XLDnaute Nouveau
bonsoir a tous, j'espère que tout le monde va bien,
s'il vous plait si une personne pourrait m'indiquer comment je peux séparer la colonne avant le code postale c'est a dire une série de 5 chiffres ( ils ne sont pas parfaitement aligné donc c'est dead pour la conversion des données.

Un grand merci par avance.

1650412857623.png
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Noob-Excel, et bienvenu sur XLD,
Préférez toujours un fichier à une image, c'est plus exploitable directement sans avoir à ressaisir. ;)
Un essai en PJ avec cette petite fonction perso :
VB:
Function CodPost(C$)
    For N = 1 To Len(C) - 4
        If IsNumeric(Mid(C, N, 1)) And IsNumeric(Mid(C, N, 5)) Then
            CodPost = Mid(C, N, 5)
            Exit Function
        End If
    Next N
End Function
 

Pièces jointes

  • Codpost.xlsm
    13.4 KB · Affichages: 2

job75

XLDnaute Barbatruc
Une macro qui utilise les expressions régulières :
VB:
Sub CodePostal()
Dim o As Object, tablo, i&, a
Set o = CreateObject("vbscript.regexp")
o.Global = True
o.Pattern = "\d{5}"
With [A1].CurrentRegion.Resize(, 2)
    tablo = .Value
    For i = 1 To UBound(tablo)
        Set a = o.Execute(tablo(i, 1))
        If a.Count Then tablo(i, 2) = a(0) Else tablo(i, 2) = ""
    Next
    .Value = tablo
End With
End Sub
Le code postal est restitué en colonne B.
 

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 991
Membres
101 856
dernier inscrit
Marina40