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

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 453
Messages
2 088 551
Membres
103 881
dernier inscrit
malbousquet