TRie
Résolu
Alwllh
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
J'ai une interogation :
J'ai un tableau excel avec plein d'adresse de lieux.
J'aimerais faire en sorte de ne garder que le nom de la ville parmis toute l'adresse.
quelques exemple :
2, rue Gervex, Paris, 75, Île-de-France, 75017
17 b rue Etienne Augier, ANGOULEME, 16, Nouvelle Aquitaine, 16000
Quartier Marican, Goult, 84, Provence-Alpes-Côte d'Azur, 84 220
99, avenue du Président Coty, La Ferté-Macé, 61, Normandie, 61600
Merci d'avance !
J'ai une interogation :
J'ai un tableau excel avec plein d'adresse de lieux.
J'aimerais faire en sorte de ne garder que le nom de la ville parmis toute l'adresse.
quelques exemple :
2, rue Gervex, Paris, 75, Île-de-France, 75017
17 b rue Etienne Augier, ANGOULEME, 16, Nouvelle Aquitaine, 16000
Quartier Marican, Goult, 84, Provence-Alpes-Côte d'Azur, 84 220
99, avenue du Président Coty, La Ferté-Macé, 61, Normandie, 61600
Merci d'avance !
A voir également:
- TRie
- Trie excel - Guide
- Trie photo - Guide
- Trie size - Télécharger - Gestion de fichiers
- Sur cette page, triez le tableau pour afficher l'état le plus peuplé en premier. dans le tableau trié, quelle est la capitale du 5ᵉ état ? ✓ - Forum C
- Votre envoi est trié sur la plateforme de départ. ✓ - Forum Consommation & Internet
6 réponses
Bonjour,
en vba faire Alt F11 pour accéder à l'éditeur.
Insertion Module et coller ce code :
allez dans Développeur dans le ruban.
Sélectionnez Macro; Option et sélectionnez: la macro For_X_to_Next_Ligne
et choisissez un raccourci clavier
Enregistrez classeur acceptant les macros
Voilà
en vba faire Alt F11 pour accéder à l'éditeur.
Insertion Module et coller ce code :
Option Explicit
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
Dim Tableau() As String
Dim i As Integer
Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
Set FL1 = Worksheets("Feuil1") 'adapter le nom de la feuille
NoCol = 1 'lecture de la colonne 1 colonne A
For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
Var = FL1.Cells(NoLig, NoCol)
'découpe la chaine en fonction des virgules ","
'le résultat de la fonction Split est stocké dans un tableau
Tableau = Split(Var, ",")
'boucle sur le tableau pour visualiser le résultat
For i = 0 To UBound(Tableau)
'Le résultat s'affiche dans la fenêtre d'execution de l'éditeur de macros
Debug.Print Tableau(i)
Next i
If i = 6 Then
FL1.Cells(NoLig, NoCol + 1) = Tableau(2)
Else
FL1.Cells(NoLig, NoCol + 1) = Tableau(1)
End If
Next
Set FL1 = Nothing
End Sub
allez dans Développeur dans le ruban.
Sélectionnez Macro; Option et sélectionnez: la macro For_X_to_Next_Ligne
et choisissez un raccourci clavier
Enregistrez classeur acceptant les macros
Voilà
Bonjour,
d'après vos exemples, si on prend en compte uniquement la place de la ville dans la ligne par rapport au caractère virgule ',' on trouve des positions différentes si on part du début de la ligne.
2, rue Gervex, Paris, 75, Île-de-France, 75017 -> La ville est Paris, 3ième position
17 b rue Etienne Augier, ANGOULEME, 16, Nouvelle Aquitaine, 16000 -> 2ième position
Quartier Marican, Goult, 84, Provence-Alpes-Côte d'Azur, 84 220 -> 2ieme position
99, avenue du Président Coty, La Ferté-Macé, 61, Normandie, 61600 -> 3ieme position
Par contre si on part de la fin de la ligne, la ville est toujours en 4ième position donc c'est possible de le faire selon cette logique.
il fait beaucoup de lignes votre fichier ?
d'après vos exemples, si on prend en compte uniquement la place de la ville dans la ligne par rapport au caractère virgule ',' on trouve des positions différentes si on part du début de la ligne.
2, rue Gervex, Paris, 75, Île-de-France, 75017 -> La ville est Paris, 3ième position
17 b rue Etienne Augier, ANGOULEME, 16, Nouvelle Aquitaine, 16000 -> 2ième position
Quartier Marican, Goult, 84, Provence-Alpes-Côte d'Azur, 84 220 -> 2ieme position
99, avenue du Président Coty, La Ferté-Macé, 61, Normandie, 61600 -> 3ieme position
Par contre si on part de la fin de la ligne, la ville est toujours en 4ième position donc c'est possible de le faire selon cette logique.
il fait beaucoup de lignes votre fichier ?
3500. Mais effet le schéma est toujours identiques et la ville est quasi tout le temps en quatrième position en partant de la fin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Par fonction personnalisée :
Function ville(cellule As String)
'Inversion de la chaine
esserda = StrReverse(cellule)
t = Split(esserda, ",")
ville = StrReverse(t(3))
End Function
Pardon, par fonction personnalisée.
Cf. ici : https://support.microsoft.com/fr-fr/office/cr%c3%a9er-des-fonctions-personnalis%c3%a9es-dans-excel-2f06c10b-3622-40d6-a1b2-b6748ae8231f?ui=fr-fr&rs=fr-fr&ad=fr
Cf. ici : https://support.microsoft.com/fr-fr/office/cr%c3%a9er-des-fonctions-personnalis%c3%a9es-dans-excel-2f06c10b-3622-40d6-a1b2-b6748ae8231f?ui=fr-fr&rs=fr-fr&ad=fr
comment enregister le programme pour l'inserer via VBE
faire Alt F11 sur la feuille concernée pour accéder à l'éditeur.
sur Mac je ne sais pas
@+ Le Pivert