Tri dans le même ordre qu'une liste donnée
louloubru
Messages postés
14
Statut
Membre
-
louloubru Messages postés 14 Statut Membre -
louloubru Messages postés 14 Statut Membre -
Bonjour,
je voudrais trier des colonnes dans une feuille dans le même ordre que l'ordre présent dans une autre feuille.
Je ne vois pas du tout comment faire, je n'ai donc encore rien essayé.
Auriez-vous des pistes ?
J'ai dans un feuille une liste d'évènements triés par date. Dans une autre feuille chaque colonne correspond à un évènement. Je n'ai plus la date dans cette feuille.
J'aimerai trier les colonnes dans l'ordre dans lequel les évènements sont dans la feuille d'avant.
Je n'ai pas de code à donner ...
NB : la liste comme les colonnes sont dynamiques : j'en rajoute parfois, je ne peux donc pas taper l'ordre des colonnes, cet ordre doit venir de la feuil.
En vous remerciant !
je voudrais trier des colonnes dans une feuille dans le même ordre que l'ordre présent dans une autre feuille.
Je ne vois pas du tout comment faire, je n'ai donc encore rien essayé.
Auriez-vous des pistes ?
J'ai dans un feuille une liste d'évènements triés par date. Dans une autre feuille chaque colonne correspond à un évènement. Je n'ai plus la date dans cette feuille.
J'aimerai trier les colonnes dans l'ordre dans lequel les évènements sont dans la feuille d'avant.
Je n'ai pas de code à donner ...
NB : la liste comme les colonnes sont dynamiques : j'en rajoute parfois, je ne peux donc pas taper l'ordre des colonnes, cet ordre doit venir de la feuil.
En vous remerciant !
Configuration: Windows / Firefox 67.0
8 réponses
-
J'aurai voulu joindre un classeur avec ma situation simplifiée mais je n'ai pas l'impression que ce soit possible ...
-
Bonjour
Pour joindre ton fichier tu vas sur ce site tu copies le lien qui te sera donné et tu viens
le coller dans ta réponse
https://www.cjoint.com/
Cordialement -
Merci !
Fichier ici : https://www.cjoint.com/c/IFmiFcvIKTi
Il s'agit d'un exemple simplifié de ma situation : je souhaite que mes colonnes dans la feuille 2 soient trier dans le même ordre que celui indiqué en ligne dans la feuille 1.
Attention des évènements seront rajoutés : lignes dans la feuille 1 et colonnes dans la feuille 2 (je les ajoute en même temps par une petite procédure). Le tri doit donc pouvoir prendre en compte les nouveaux éléments éventuels.
Merci beaucoup !
-
-
Re bonjour
Si j'ai bien compris c'est ce que tu veux avoir
https://www.cjoint.com/c/IFmjlID0gsk
Question: combien de colonnes en feuil1
combien de colonnes en feuil2
Crdlt-
Re,
non ce n'est pas ça, en feuille 2 je veux que cela reste en colonne et non en ligne.
Je veux que mes colonnes soient triées : Ev1 puis Ev2 pui Ev3 etc... Dans le même ordre qu'en feuille 1. (où c'est trié selon la date).
Je ne peux pas me servir du nombre de colonnes : le fichier en rajoute.
J'ai une macro qui me rajoute une ligne en feuille 1 et une colonne en feuille 2 qui portent le même nom.
-
-
un exemple avec macro et bouton
https://www.cjoint.com/c/IFmlAI7wCUk -
Quelle erreur tu as?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
La feuille 1 n'a rien a voir puisque le tri se fait en feuille2
-
Dans ce fichier j'ai mis en feuil2 colonne A de nouvelles données
clique sur le bouton feuil 1 et tu verras qu' en feuil2 les nouvelles données sont à leurs places
https://www.cjoint.com/c/IFmmFKtEYfk-
Re bonjour,
nous ne nous sommes pas compris : je souhaite utiliser l'ordre en feuille 1 pour trier la feuille 2.
J'ai un peu avancé depuis : j'ai créer un vecteur qui stocke l'ordre des évènements (ce que je veux trier) de la feuille 1.
Je recherche le moyen de trier la feuille 2 selon ce vecteur que j'ai appelé liste.
J'ai donc un vecteur liste qui contient les en-tête de mes colonnes en feuille2 et je souhaite trier ces colonnes selon cet ordre.
On peut le faire avec sort mais je ne m'en sort pas avec les paramètres de la fonction ....
Ma page de données doit pouvoir s'agrandir donc je l'ai définit comme ceci :Dim maplage as Range Dim Dercol As Long Dim Dernlig As Long Dernlig = Range("A" & Rows.Count).End(xlUp).Row Dercol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column maplage = Range(Cells(1, 1), Cells(Dernlig, Dercol))
-
-
Est-ce que tu peux envoyer une copie de ton fichier original avec 3ou4 lignes
et tu mets des noms bidons aux endroits stratégiques. -
Bonjour,
merci beaucoup de vous être intéressé à mon problème, j'ai une solution qui fonctionne :
'Tri des colonnes de toutes les feuilles selon l'ordre de ce vecteur
Sheets("ONF_COFOR").Activate
Application.ScreenUpdating = False
For n = LBound(liste) To UBound(liste)
Columns("AJ:AJ").Insert
Next
Dim Col As Integer
Col = 36
For n = LBound(liste) To UBound(liste)
Set C = Rows(1).Find(liste(n), LookIn:=xlValues, lookat:=xlWhole)
Columns(C.Column).Copy Destination:=Cells(1, Col)
Col = Col + 1
Next
For n = 35 + (UBound(liste) + 1) * 2 To UBound(liste) + 37 Step -1
Columns(n).Delete
Next
Application.ScreenUpdating = True
NB : j'ai un +35 car les colonnes que je souhaite trier ne prennent pas toute la feuille concernée : il s'agit de la colonne 35 à l'avant dernière colonne.
Cela me pose cependnat un problème car mes données sont sous forme de tableau et cette solution ne fonction pas avce un tableau, je suis donc onligée d'enlever ma mise en forme tableau.
Or j'ai une autre procédure qui se sert des tableaux ... J'essaie de la modifier ;)