Isoler des éléments d'une cellule

Bonjour tout le monde,

Je cherche à isoler des éléments d'une cellule entière,

Ci-joint la capture écran,

Je souhaiterai séparer chaque ligne par Adresse;Ville;Code postal;Chiffre en colonne.

Savez-vous si c'est possible?

Merci :)

image

Bonjour,

Sans passer par VBA je ne pense pas, comme il n'y a pas de séparateurs simples comme une largeur fixe ou un tiret, par VBA on peut facilement séparer code postal et adresse car le code postal contient toujours 5 chiffres de ce que je vois, ensuite il y a du texte pour la ville puis les chiffres, donc une suite de type de données différents qui peuvent donc bien se délimiter.

C'est possible donc oui :)

Merci au moins je sais que c'est faisable! Je vais me renseigner sur comment faire :)

Bonne soirée !

Bonsoir, sur le comment il est possible de faire des recherche dans les chaînes de caractère avec les fonctions de la bibliothèque Strings, tu vas surtout utiliser la fonction Mid je pense, qui permet de scanner caractère après caractère la chaîne, pour connaitre sa longueur il faudra utiliser Len, pour identifier les formats tu peux utiliser isNumeric, c'est une fonction de la bibliothèque Information de mémoire, si tu as d'autres questions n'hésite pas, je me suis contenté de dire si c'était possible comme c'était la question de base.

Bonjour à tous,

Au cas où vous seriez toujours en recherche, voici un essai avec une procédure (présente sur le fichier exemple et portant sur la colonne A)

Sub separer()

Dim tcol()

With ActiveSheet
    dl = .Cells(.Rows.Count, 1).End(xlUp).Row
    ReDim tcol(1 To dl, 1 To 4)
    For i = 1 To dl
        temp = Split(.Cells(i, 1).Value): j = 0
        Do Until temp(j) Like "#####"
            tcol(i, 1) = IIf(tcol(i, 1) = "", temp(j), tcol(i, 1) & " " & temp(j))
            j = j + 1
        Loop
        tcol(i, 2) = temp(j): j = j + 1
        Do Until temp(j + 1) Like "*/*"
            tcol(i, 3) = IIf(tcol(i, 3) = "", temp(j), tcol(i, 3) & " " & temp(j))
            j = j + 1
        Loop
        While j <= UBound(temp)
            tcol(i, 4) = IIf(tcol(i, 4) = "", temp(j), tcol(i, 4) & " " & temp(j))
            j = j + 1
        Wend
    Next i
    .Columns(4 + 3).NumberFormat = "@"
    .Cells(1, 4).Resize(dl, 4) = tcol
End With

End Sub
28isoler.xlsm (18.81 Ko)

Cdlt,

Rechercher des sujets similaires à "isoler elements"