Microsoft 365 EXTRAIRE TEXTE DANS CHAINE

Dann

XLDnaute Nouveau
Bonjour,

Est-ce qu'il serait possible d'extraire depuis une chaine adresse et séparer le CPOSTAL / LA VILLE / LE PAYS ?
Ci joint une exemple de texte
Merci d'avance
Dann
 

kiki29

XLDnaute Barbatruc
Salut, rustique, à affiner
VB:
Option Explicit

Sub tst()
Dim i As Long, j As Long
Dim s As String, Ar() As String
    For i = 2 To 23
        s = Feuil1.Cells(i, 1)
        Ar() = Split(s, Chr(11))
        For j = LBound(Ar) To UBound(Ar)
            Feuil1.Cells(i, j + 2) = Ar(j)
        Next j
    Next i
End Sub
 

Pièces jointes

  • 1.png
    1.png
    40.1 KB · Affichages: 21

kiki29

XLDnaute Barbatruc
Salut, peut-être Feuil1 qui est le CodeName de la feuille Feuil1 ( par défaut les 2 sont les
mêmes à la création ). Mais le CodeName permet, entre autres, de déplacer la feuille, de renommer le nom d'onglet SANS avoir à retoucher au code VBA.
 

Pièces jointes

  • 1.png
    1.png
    20.7 KB · Affichages: 6
Dernière édition:

kiki29

XLDnaute Barbatruc
Re, "M" correspond à la colonne 13, pour LastRow y remplacer "A" par "M", et
s = Feuil1.Cells(i, 1) par s = Feuil1.Cells(i, 13)

Après il faut voir où vont être les données après le split
Remplacer Feuil1.Cells(i, j + 2) par Feuil1.Cells(i, j + 14) ?

VB:
Option Explicit

Sub Tst()
Dim i As Long, j As Long
Dim s As String, Ar() As String
Dim LastRow As Long
    Application.ScreenUpdating = False
    LastRow = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To LastRow
        s = Feuil1.Cells(i, 1)
        Ar() = Split(s, Chr(11))
        For j = LBound(Ar) To UBound(Ar)
            Feuil1.Cells(i, j + 2) = Ar(j)
        Next j
    Next i
    Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • 1.png
    1.png
    2.4 KB · Affichages: 4
Dernière édition:

Discussions similaires

M
Réponses
6
Affichages
402

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG