TRie
Résolu/Fermé
Alwllh
-
7 mai 2020 à 15:31
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 7 mai 2020 à 18:42
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 7 mai 2020 à 18:42
A voir également:
- TRie
- Trie excel - Guide
- Trie size - Télécharger - Gestion de fichiers
- Trie photo - Guide
- Il est trié sur la plateforme de départ signification ✓ - Forum Consommation & Internet
- Combobox trié ✓ - Forum VB / VBA
6 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
Modifié le 7 mai 2020 à 17:13
Modifié le 7 mai 2020 à 17:13
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à
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
7 mai 2020 à 15:36
Bonjour,
Chaque adresse est dans une seule cellule ?
A+
Chaque adresse est dans une seule cellule ?
A+
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
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
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
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
7 mai 2020 à 16:42
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
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
7 mai 2020 à 16:43
rhoo je ne comprend rien veuillez m'excuser
7 mai 2020 à 17:01
comment enregister le programme pour l'inserer via VBE
7 mai 2020 à 17:09
faire Alt F11 sur la feuille concernée pour accéder à l'éditeur.
sur Mac je ne sais pas
7 mai 2020 à 18:02
7 mai 2020 à 18:02
7 mai 2020 à 18:42
@+ Le Pivert