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 :

[VBA Excel] Trier une plage à plusieurs colonnes


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut [VBA Excel] Trier une plage à plusieurs colonnes
    Bonjour,

    Je voulais savoir si il existait une méthode toute faite pour trier une plage à plusieurs colonnes ?

    Ca m'éviterai de la faire moi-même (oui je suis feignant ... je ne serais pas développeur sinon ).

    Voilà et merci pour votre aide.
    LikeZone
    Le meilleur du like

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut
    Ouais je veux écraser la plage actuelle par la plage triéé quitte à créer un plage triée temporaire à côté.

    J'ai un nombre de colonne qui peut varier entre 7 et (7 + nombres d'insectes). Le tri doit se faire avec la première colonne puis la seconde puis la troisième et enfin la quatrième.

    J'espère avoir donné suffisemment d'éléments. De mon côté je vais voir ce que donne advancedFilter.

    merci de ton aide.
    LikeZone
    Le meilleur du like

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    et cela ne ressemble pas à ce que tu peu avoir en faisant Données Trier..?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut
    J'ai compris comment marchait cette méthode, par contre je ne sais pas comment faire pour déterminer quelles colonnes agissent sur le trie et lesquelles n'agissent pas dessus, sachant que l'on tri une ligne en son entier.

    Voici comment se compose ma plage :

    Site | Salle | Piege | Date | Nb insecte | temp | hum rel | ...
    LikeZone
    Le meilleur du like

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Attends c'est du "tri" ou du "filtrage" que tu ve faire ?
    - Tri : Ordonner toutes les lignes de ton tableau dans un ordre déterminé, toutes les lignes apparaiassen ( voir menu donnée trier)
    - Filtrage : Ne faire apparaître que les lignes correspondantes à un certain critére.. ( vour menu Donnée , filtre, filtre Automatique..)


  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut
    Ben alors non c'est pas du filtrage c'est vraiment du tri.

    Bon ok, laissez moi dix minutes, je vais m'pendre et j'reviens ...
    LikeZone
    Le meilleur du like

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut
    et cela ne ressemble pas à ce que tu peu avoir en faisant Données Trier..?
    Sisi, le problème, c'est qu'il me propose le tri sur trois colonne et pas quatre ... je vais me pendre un peu plus longtemps ... je reviens juste après.
    LikeZone
    Le meilleur du like

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par loacast
    Ben alors non c'est pas du filtrage c'est vraiment du tri.

    Bon ok, laissez moi dix minutes, je vais m'pendre et j'reviens ...
    alors tu t'est pendu ou la solution menu donnée, trier te convient...?

    s'il te manque un critére de tri ( à priori tu en voudrai 4) ... crée une colonne dans la quelle tu concaténe par formule le contenu de 2 autres ...
    par exemple les colonnes site et salle.. ( A et B) ... tu cré insére une colonne C avec dans chacune des cellules une Formule du genre :

    ( le 1 .... étant fonction de la ligne...)


  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut
    N'y aurait-il pas moyen de le faire par VBA (et sans utiliser de formules) pour pouvoir automatiser le tri ?
    LikeZone
    Le meilleur du like

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    tiens en VBA ... tri de la feuille Active avec comme critére les 4 premiéres colonnes ... , Utilisation de l'astuce d'insertion colonne "concaténées" pour passer les capacitées de tri de 3 à 4 critéres ... ( la colonne est crée avant le tri, puis détruite aprés..)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Trie4criteres()
        Dim r As Range
        Set r = ActiveSheet.Range("A1").CurrentRegion
        r.Columns(3).Insert shift:=xlToRight  'Insere une colonen
        r.Columns(3).FormulaR1C1 = "=RC[-2]&RC[-1]"
         r.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("D2") _
            , Order2:=xlAscending, Key3:=Range("E2"), Order3:=xlAscending, Header:= _
            xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
        r.Columns(3).Delete shift:=xlToLeft
        Range("A1").Select
    End Sub

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut
    A j'ai oublier de préciser que la quatrième colonne est de type date .

    Mais merci de ton aide, vraiment. Je pense avoir une idée :

    je vais trier avec les 3 premiers champs, puis trier séparemment des groupes de lignes avec des sélections (tout en utilisant Sort biensûr).
    LikeZone
    Le meilleur du like

  12. #12
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par loacast
    A j'ai oublier de préciser que la quatrième colonne est de type date .
    et alors ? cela cause un probléme ..? avec le code que j'ai posté ?

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut
    Ben ouais puisqu'il y a concaténation, la date devient une chaîne et donc on tri une chaîne et plu une date. Je dois dire aussi que ça m'enchantais pas de faire ce genre de bidouilles.

    Mais pour tout dire le problème est résolu (il y'a beaucoup plus de ligne par contre) et je vous remercie tous pour l'aide que vous m'avez apportée.
    LikeZone
    Le meilleur du like

  14. #14
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    [quote="loacast"]Ben ouais puisqu'il y a concaténation, la date devient une chaîne et donc on tri une chaîne et plu une date. Je dois dire aussi que ça m'enchantais pas de faire ce genre de bidouilles.
    /quote]

    ? il ny as concaténation que pour les colonnes 1 et 2... pas la 4 !

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 183
    Points : 125
    Points
    125
    Par défaut
    Sorry autant pour moi.
    LikeZone
    Le meilleur du like

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

Discussions similaires

  1. Trier une plage de cellules
    Par Squelet dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 03/12/2019, 13h04
  2. Réponses: 16
    Dernier message: 11/12/2013, 11h20
  3. [VBA-E]Instancier une plage de cellules prises dans plusieurs feuilles
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/03/2007, 12h08
  4. [VBA Excel] trier plus de trois colonnes
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/10/2006, 12h47
  5. [VBA-Excel]Supprimer une colonne entiere basee sur une cellule
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2006, 22h08

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