IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

tri par ordre croissant SUIVI d'un tri custom (Low,Medium, High)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 57
    Points : 25
    Points
    25
    Par défaut tri par ordre croissant SUIVI d'un tri custom (Low,Medium, High)
    J'ai remplacé low par 1 medium par 2 et high par 3, comment ça j'utilise un tri normal et ensuite je renomme, c'est long mais ça marche !



    Bonjour,

    j'aimerais savoir si c'est possible de faire des tris emboités mais selon critere ...

    on tri d'abord par date (jusque là pas de problème), et ensuite par rapport à un ordre personnalisé.

    ex : le 1er janvier ¦ low sera devant
    le 1er janvier ¦ medium

    merci d'avance !

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    Pour pouvoir utiliser le tri personnalisé, il faut d'abord créer cette liste (Outils/Options/Liste pers.). Ensuite, on retrouve cette liste dans les options de tri de la première clé (Données/Trier).

    Pour adapter ce tri personnalisé en VBA, il suffit d'enregister une macro pour récupérer les syntaxes à inclure dans ton code.

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Pour l'ordre personnalisé regarde dans Excel -> outils-> Options -> Liste personnelle -> Tu crées ta liste
    Pour l'utiliser dans VBA tu appelles son N°
    Tu peux également créer la liste par macro.
    Tout ça peut être réalisé en enregistrant une macro en faisant. Il suffit ensuite de simplifier le code (suppression des selects pa exemple)

    Edit
    Un exemple ici

    Grillé par fgiambelluco

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 57
    Points : 25
    Points
    25
    Par défaut
    en fait je veux faire des tris selon un ordre puis un ordre personnalisé....

    sans vba, on peut faire plusieurs tris selon un SEUL ordre ... j'espere que

    vous avez compris mon problème.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Et nous on te dit de le faire à l'enregistreur de macros : on ne va pas t'enregistrer ta macro non plus... Ca t'a déjà été dit dans l'autre sujet que tu as posté. En clair, on a bien compris mais toi tu n'as rien compris... (moi aussi je suis fan des points de suspension).

    Allez, dernier effort et après je ne vois plus quoi faire. Soit tu testes, soit tant pis.

    Lance l'enregistreur de macros (je t'ai donné la démarche à suivre dans l'autre sujet que tu as créé). Fais ta macro de tri ordinaire comme je te l'ai suggéré dans l'autre fil. Une fois cela fait, arrête l'enregistreur. Puis relance le ! Et maintenant, suis ce qu'ont dit ouskel'n'or et fgiambelluco. Et arrête de nouveau ton enregistreur ! Il ne te reste plus qu'à faire ALT + F11 et à voir les 2 codes qui t'ont été pondus. Il ne te restera alors plus qu'à les fusionner dans une seule macro comme tu le souhaites et à les alléger.

    Bref, fais cela et reviens-nous voir avec cela, au minimum. Pour ma part, je serai alors heureux de t'aider avec d'autres problèmes à partir de ce moment là...

    Bonne chance...

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 57
    Points : 25
    Points
    25
    Par défaut
    En fait je croyais qu'il fallait mettre 2 OrderCustom ( un pour le tri alphabetique et l'autre suivant une liste)

    mais en fait non :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Sort()
     
     
        Application.AddCustomList ListArray:=Array("Low", "Medium", "High")
     
            Range("A3", "AP50").Select
            Selection.Sort Key1:=Range("M3"), Order1:=xlAscending, Key2:=Range("J3") _
    , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=6, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
     
     
    End Sub
    j'ai juste un petit souci, il me classe mes Low Medium et High par ordre alphabetique au lieu de cet ordre là, arf ...

    En fait je crois tout simplement qu'il a ignoré ma custom list et trié par ordre croissant alphabetico/numerique.

    any ideas ?

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    Comme je l'ai dis dans mon POST de 9h27
    on retrouve cette liste dans les options de tri de la première clé
    l'ordre personnalisé ne fonctionne que pour la 1ere clé

    Donc tu es obligé de faire 2 tri successifs

  8. #8
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 57
    Points : 25
    Points
    25
    Par défaut
    d'accord

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tri par ordre croissant
    Par KinF dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 13/12/2008, 20h19
  2. Tri par ordre croissant
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/02/2008, 13h11
  3. Analyse croisée : empêcher le tri par ordre croissant
    Par mouaa dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 19/02/2008, 14h08
  4. Tri par ordre croissant
    Par controle55 dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 12/01/2008, 21h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo