Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 de la colonne B, ne garder que les communes et cp à mettre en colonne C

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous

Me Re-voilou avec un nouveau souci...
J'ai en colonne B des informations, exemple :
"Appartement
103 m²
4 Pièces -
Toulouse 31200"

Je n'ai besoin que de garder "Toulouse 31200"


Dans mon fichier test joint, j'ai mis environ 600 lignes, c'est déjà "galère" de le faire à la mimine.
Mais, en fait, j'en ai pratiquement 10.000 à la mimine j'va mourut

Je suis actuellement en tests et essais, consultation du net, Forums etc....
Je n'ai pas trouvé pour l'instant comment m'en sortir.

Si vous aviez la solution fonction ou vba, ça m'arrangerait bien....
Un grand merci par avance,
Entre temps, je continue mes recherches......
Petit fichier test joint,
 

Pièces jointes

  • Test.xlsm
    25.2 KB · Affichages: 9
Dernière édition:
Solution
Bonjour Lionel,
Si j'ai bien compris :
VB:
Sub Ville()
    Dim T, i
    T = [B1].CurrentRegion
    For i = 2 To UBound(T)
        Nom = Split(T(i, 1), "       ")
        T(i, 1) = Trim(Nom(UBound(Nom)))
    Next i
    [C1].Resize(UBound(T, 1), UBound(T, 2)) = T
End Sub

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Lionel,
Si j'ai bien compris :
VB:
Sub Ville()
    Dim T, i
    T = [B1].CurrentRegion
    For i = 2 To UBound(T)
        Nom = Split(T(i, 1), "       ")
        T(i, 1) = Trim(Nom(UBound(Nom)))
    Next i
    [C1].Resize(UBound(T, 1), UBound(T, 2)) = T
End Sub
 

Pièces jointes

  • Test.xlsm
    31.7 KB · Affichages: 3

job75

XLDnaute Barbatruc
Bonjour Lionel, sylvanu,

Ou plus simplement :
VB:
Function Dernier(x As String) As String
Dernier = Trim(Mid(x, InStrRev(x, vbLf) + 1))
End Function
A+
 

Pièces jointes

  • Dernier(1).xlsm
    42.3 KB · Affichages: 2

Cousinhub

XLDnaute Barbatruc
Inactif
Hi,
J'utilise Power Query (PQ pour les intimes), qui est un complément gratuit de µSoft pour les versions <2016, mais totalement intégré depuis, notamment dans ta version.
Cette fonctionnalité n'utilise pas le langage VBA, mais le langage M
Un clic droit dans la requête puis "Table/Modifier la requête" te permet d'ouvrir l'éditeur PQ.
Et en cliquant sur "Editeur avancé", tu peux voir le code :
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Texte extrait après le délimiteur" = Table.TransformColumns(Source, {{"Communes", each Text.AfterDelimiter(_, "#(lf)", {0, RelativePosition.FromEnd}), type text}}),
    #"Espaces supprimés" = Table.TransformColumns(#"Texte extrait après le délimiteur",{{"Communes", Text.Trim, type text}})
in
    #"Espaces supprimés"
Bref, c'était juste pour le fun, mais ce qu'il faut savoir, c'est que PQ permet de traiter de grosses (très grosses) bases de données, car non concerné par les limites d'Excel...
Bonne soirée
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…