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 :

Macro VBA pour tri successif de lignes


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 Macro VBA pour tri successif de lignes
    resolu voir

    http://www.developpez.net/forums/d78...w-medium-high/



    Bonjour,

    j'aimerais trier des lignes selon un premier critere puis un deuxieme (l'ordre à de l'importance)

    A 1
    B 5
    A 3
    B 2

    devient

    A 1
    A 3
    B 2
    B 5

    merci d'avance

  2. #2
    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
    Bonjour,

    Cette fonctionnalité est disponible dans Excel "normal". Pas besoin de VBA. Et si jamais tu veux le faire par VBA, l'enregistreur de macros est ton ami !

    Pour info, tu sélectionnes tes 2 colonnes et tu fais Données/Trier. Tu choisis donc Trier par Colonne A puis par Colonne B par exemple.

    Bonne chance.

  3. #3
    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
    oui mais j'ai besoin de le faire dans ma macro pour tout automatiser !

    je sais qu'on peut le faire sur excel normal...

  4. #4
    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 si jamais tu veux le faire par VBA, l'enregistreur de macros est ton ami !
    Que veux-tu que je te dise de plus ? Outils/Macro/Nouvelle macro peut-être...

    EDIT : le tri perso, pourquoi pas ! Mais un tri classique est bien suffisant et plus simple pour ce qu'il y a à faire je trouve

  5. #5
    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
    ouskel tu avais mis quoi avec des couleurs ?

    j'aimerais faire un tri avec des low medium et high donc ça m'interesse

  6. #6
    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
    Utilise le tri personnalisé -> Outils -> Options -> Tri perso.
    Là tu crées tes deux listes
    Ensuite tu indiques le N° de tri dans ton code
    Et comme un petit croquis vaut mieux qu'un long discours...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Test()
    Dim Tablo As Variant
        'on crée l'ordre de tri personnalisé
        Application.AddCustomList ListArray:=Array("jaune", "vert", "bleu", "violet", _
            "rouge", "orange")
        'pour le test je renseigne les cellules A1:A6 **************
        Tablo = Array("orange", "rouge", "violet", "bleu", "vert", "jaune")
        Range("A1:A6") = Application.Transpose(Tablo) '***********
     
        'On classe les données du tableau selon la liste personnalisée
        Range("A1:A6").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=6
    End Sub
    où (OrderCustom:=)6 correspond au N° de la liste perso
    Bon après-midi

    Edit
    Voilà ce que j'avais mis mais ça ne répond pas à ta question telle que tu la formules

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/12/2009, 11h22
  2. [XL-2003] Aide macro vba pour calcul du prix d'une option
    Par addictionme dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/05/2009, 15h45
  3. Réponses: 4
    Dernier message: 19/03/2009, 09h57
  4. Macro VBA pour mettre colonne en ligne avec cellule fusionnée
    Par dany13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/01/2008, 06h09
  5. [VBA-E] Macro VBA pour personaliser mon .doc depuis mon .xls
    Par korntex5 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/05/2006, 16h01

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