TRie

Résolu/Fermé
Alwllh - 7 mai 2020 à 15:31
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 7 mai 2020 à 18:42
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 !
A voir également:

6 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 7 mai 2020 à 17:13
Bonjour,

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à


1
C'est bon je sui sur mac et excel
comment enregister le programme pour l'inserer via VBE
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > Alwllh
7 mai 2020 à 17:09
Sous Windows:

faire Alt F11 sur la feuille concernée pour accéder à l'éditeur.

sur Mac je ne sais pas
0
Merci infiniment tout fonctionne !!!!!!
0
Alwllh > Alwllh
7 mai 2020 à 18:02
avez vous un paypal ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > Alwllh
7 mai 2020 à 18:42
Non, il suffit de cocher la case: Marquer comme résolu

@+ Le Pivert
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
7 mai 2020 à 15:36
Bonjour,

Chaque adresse est dans une seule cellule ?

A+
0
Oui en effet
0
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 ?
0
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
0
Help
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
Modifié le 7 mai 2020 à 16:43
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
0
Merci beaucoup mais comment faire pour mettre ca sur excel
Cordialement
0
Alwllh > Alwllh
7 mai 2020 à 16:36
De plus je ne sait pas ce que signifie macro complementaire
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149 > Alwllh
7 mai 2020 à 16:42
0
Alwllh > Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023
7 mai 2020 à 16:43
rhoo je ne comprend rien veuillez m'excuser
0
je travail sur Gsheets
0