Tri dans le même ordre qu'une liste donnée

Fermé
louloubru Messages postés 13 Date d'inscription mercredi 22 mai 2019 Statut Membre Dernière intervention 13 juin 2019 - 12 juin 2019 à 09:53
louloubru Messages postés 13 Date d'inscription mercredi 22 mai 2019 Statut Membre Dernière intervention 13 juin 2019 - 13 juin 2019 à 13:48
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 !

Configuration: Windows / Firefox 67.0

8 réponses

louloubru Messages postés 13 Date d'inscription mercredi 22 mai 2019 Statut Membre Dernière intervention 13 juin 2019
12 juin 2019 à 09:54
J'aurai voulu joindre un classeur avec ma situation simplifiée mais je n'ai pas l'impression que ce soit possible ...
0
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 461
12 juin 2019 à 10:27
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
0
louloubru Messages postés 13 Date d'inscription mercredi 22 mai 2019 Statut Membre Dernière intervention 13 juin 2019
12 juin 2019 à 10:34
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 !
0
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 461
12 juin 2019 à 11:13
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
0
louloubru Messages postés 13 Date d'inscription mercredi 22 mai 2019 Statut Membre Dernière intervention 13 juin 2019
12 juin 2019 à 11:21
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.
0
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 461
12 juin 2019 à 13:26
un exemple avec macro et bouton
https://www.cjoint.com/c/IFmlAI7wCUk
0
louloubru Messages postés 13 Date d'inscription mercredi 22 mai 2019 Statut Membre Dernière intervention 13 juin 2019
12 juin 2019 à 14:26
Merci beaucoup mais cela ne fonctionne pas : si j'ajoute un évènement en feuille 1 et en feuille 2 et appuie sur le bouton il ne trie pas, j'ai une erreur.
0
louloubru Messages postés 13 Date d'inscription mercredi 22 mai 2019 Statut Membre Dernière intervention 13 juin 2019
12 juin 2019 à 14:27
Il me semble que rien n'indique la feuille 1 dans votre code ...
Je viens de créer un vecteur contenant les évènements dans l'ordre de la feuille 1 et j'essaie maintenant de trier la feuille 2 selon cet ordre...
0
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 461
12 juin 2019 à 14:27
Quelle erreur tu as?
0

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

Posez votre question
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 461
12 juin 2019 à 14:29
La feuille 1 n'a rien a voir puisque le tri se fait en feuille2
0
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 461
12 juin 2019 à 14:33
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
0
louloubru Messages postés 13 Date d'inscription mercredi 22 mai 2019 Statut Membre Dernière intervention 13 juin 2019
12 juin 2019 à 16:02
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))


0
JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 461
12 juin 2019 à 17:07
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.
0
louloubru Messages postés 13 Date d'inscription mercredi 22 mai 2019 Statut Membre Dernière intervention 13 juin 2019
13 juin 2019 à 13:48
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 ;)
0