Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro de tri sur trois données

FraggleRock26

XLDnaute Nouveau
Bonjour,

Je bloque de nouveau sur un probleme...

J'ai fait une macro me permettant de trier mon planning selon deux critéres "dates" et "heures" ce qui me donne un ordre croissant par jours, de l'excursion la plus matinale jusqu'a la plus tardive... (voir fichier joint : ce que j'ai)

Mais pour des raisons pratiques, il me faudrait en fait un tri plus complexe, que je n'arrive pas à faire, pour avoir ce planning trié toujours par "dates" mais ensuite par "bateaux" et "par heures de sortie" (voir fichier joint : ce que je veux).

Mes impératifs de tri sont :
tri des colonnes A à AA et tri des lignes de 2 à 999 (la premiére ligne étant figée)


Je ne sais pas si j'ai été bien explicite...
 

Pièces jointes

  • exemple tri heure date bateaux.xlsx
    19.3 KB · Affichages: 48

Dranreb

XLDnaute Barbatruc
Re : Macro de tri sur trois données

Bonjour.

Dans le tri tel que vous le demandez le bateau MS Anne Marie ne devrait pas se trouver tout à la fin comme vous le montrez dans la feuille "ce que je veux"
 

Modeste geedee

XLDnaute Barbatruc
Re : Macro de tri sur trois données

Bonsour®

???
J'ai fait une macro me permettant de trier mon planning
pas de macro dans le fichier (*.xlsx) exemple fourni...

par tri personnalisé :

pour une macro
utiliser l'enregistreur :
Enregistrer une macro
 

Pièces jointes

  • Capture.JPG
    47.3 KB · Affichages: 47
  • Capture.JPG
    47.3 KB · Affichages: 49
Dernière édition:

FraggleRock26

XLDnaute Nouveau
Re : Macro de tri sur trois données

Oui Modeste, pas de macro dans l'exemple car sur le véritable fichier il s'agit d'une macro "enregistrée" où je fait des copier/coller de colonnes avec des tris de A à Z entre chaque, c'est donc une macro pourrie que je ne pensais pas utilde de joindre à l'exemple
 

Modeste geedee

XLDnaute Barbatruc
Re : Macro de tri sur trois données

Bonsour®

Brute d'enregistrement :
VB:
Sub Macro1()
    Range("A2").Select
    ActiveWorkbook.Worksheets("ce que j'ai").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("ce que j'ai").Sort.SortFields.Add Key:=Range( _
        "H2:H8"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("ce que j'ai").Sort.SortFields.Add Key:=Range( _
        "G2:G8"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("ce que j'ai").Sort.SortFields.Add Key:=Range( _
        "I2:I8"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("ce que j'ai").Sort
        .SetRange Range("A1:AA8")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 

FraggleRock26

XLDnaute Nouveau
Re : Macro de tri sur trois données

Merci Modeste, mais ça ne marche pas quand j'enregistre cette macro sur mon classeur Planning.

Je pense déja c'est que dans ta macro c'est nommé "Ce que j'ai" en fait il faut que cela s'applique sur la feuille active (l'un des 12 mois de l'année ou fauille planning général...) et ensuite cela doit trier l'intégralité des colonnes en commençant par la A en se terminant par la AA.

En testant j'ai eu l'impression que cela ne s'effectuait qu sur les 5 ou 6 premiéres lignes de la feuille mais pas sur toutes...
 

Modeste geedee

XLDnaute Barbatruc
Re : Macro de tri sur trois données

Bonsour®
dans la macro il faut adapter :
le nom au nom de la feuille que l'on doit traiter :Worksheets("ce que j'ai") en . Worksheets("leNomQuiVaBien") ou-bien ActiveSheet
la plage concernée : "H2:H8" en H2:H?
de même pour G et I

les Noms de colonnes doivent correspondre impérativement et respectivement aux noms de l'exemple

???
ensuite cela doit trier l'intégralité des colonnes en commençant par la A en se terminant par la AA.
tu veux trier chaque colonne indépendamment des autres ???
 

FraggleRock26

XLDnaute Nouveau
Re : Macro de tri sur trois données

Alors aprés avoir un petit peu regardé la Macro de plus prés, j'ai changé dans la macro le nom de la feuille et j'ai réussi à modifier pour prendre en compte toutes les lignes de la 2 à la 999.

Par contre ce que je ne sais pas faire c'est de faire en sorte que je puisse appliquer cette macro sur la feuille sur laquelle je me trouve, en fait que cela classe la "feuille active" ...

Merci déja pour cette grande avancée
 

FraggleRock26

XLDnaute Nouveau
Re : Macro de tri sur trois données


Merci on a écrit en même temps...
Ok donc il faut juste que je mette "ActiveSheet" je vais le faire.

Trier indépendement non, il faut juste que lorsque le tri se fasse, j'ai bien toutes les lignes de A à AA qui se trient, que je ne me retrouve pas avec les infos de la ligne 4 colonne U qui se retrouveraient ensuite pas à la bonne place...

Dur d'expliquer cela, je vais faire des tests voir si ça marche correctement mais ça à l'air

Merci vraiment beaucoup
 

FraggleRock26

XLDnaute Nouveau
Re : Macro de tri sur trois données

Alors j'ai du mal avec le ActiveSheet, cela ne marche pas...

Voici ce que j'ai modifié :
 

FraggleRock26

XLDnaute Nouveau
Re : Macro de tri sur trois données

Bonjour et bonne semaine,

Malgré plusieurs essais différents, ce week-end, pour mettre la macro en ActiveSheet, cela ne fonctionne pas...

alors par rapport à la macro que j'ai mis au dessus, comment dois-je la modifier pour qu'elle s'applique à la feuille active à chaque fois ??

Merci
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
507
Réponses
8
Affichages
244
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…