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 :

Trier une plage de cellules


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut Trier une plage de cellules
    Bonjour à tous,
    Sûrement un petit problème de syntaxe, car j'ai un message d'erreur quand j'envoie ça !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A3:L202").Sort Range("B3"), xlAscending, Range("C3"), xlAscending
    Je voudrais trier une plage avec deux critères de tri.
    Merci d'avance
    : :

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Je ne connais pas la syntaxe par coeur, mais si tu enregistres une macro en faisant le tri que tu veux, tu obtiens quoi?

  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 543
    Points
    15 543
    Par défaut
    Moi, j'ai ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Range(("A3:L202").Sort Key1:=Range("B3"), Order1:=xlAscending, Key2:=Range("C3") _
            , Order2:=xlAscending
    Tu dis

    A+

    Ta compris, Gagaxel

  4. #4
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    J'ai fait un petit, mais alors là, tres petit, test avec des noms et des âges. Il y avait des en-têtes de colonnes. Voici ce que l'enregistreur de macro m'a fait comme code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Range("A1:B8").Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range( _
            "B2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _
            :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
            DataOption2:=xlSortNormal
    Évidemment, la plage à trier n'était pas bien grande! J'ai leaissé tous les paramètres par défaut. As-tu essayé de les ajouter à ton code? Des fois... on sait jamais.

    Et pour bien te former, les cours et tutoriels pour apprendre Excel : https://excel.developpez.com/cours/

  5. #5
    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 543
    Points
    15 543
    Par défaut
    Zaza grillée sur le poteau !
    Salut zaza

  6. #6
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut
    tu devrais recopier exactement l'enregistreur de macro et modifier juste les détails qui t'intéresse
    ca mache a chaque coup!

    parce que Excel doit tout simplement estimer qu'il lui manque des éléments...
    Pti Pié

  7. #7
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Citation Envoyé par ouskel'n'or
    Zaza grillée sur le poteau !
    Salut zaza
    J'ai pris le temps de tester, moi!
    Salut ouskel' !

  8. #8
    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 543
    Points
    15 543
    Par défaut
    Moi, j'ai eu le temps d'enregistrer la macro et d'adapter le code, moi


  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Merci à tous,
    Ouskel'nor a donné la réponse en premier, je viens de l'essayer ce matin et ça marche nickel.
    C'est vrai que je n'est pas le réflexe de lancer ce foutu enregistreur de macro !
    C'est pourtant tellement simple !!
    Bonne journée à tous.


    " La franchise ne consiste pas à dire tout ce que l'on pense, mais à penser tout ce que l'on dit. "
    H. de Livry


  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Oui, c'est encore moi ...
    J'arrive donc maintenant à trier ma plage de cellule d'après la formule d'Ouskel'nor, pour mon exemple, ça donne cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A3:L202").Sort key1:=Range("G3"), order1:=xlAscending
    Mais, et oui il y a un mais, ma clé de tri sur G3 s'applique à une série de donnée, ou il peut y avoir des cellules=0, entre les cellules qui ont une valeur et que je veux trier.
    Du coup, les cellules=0 se retrouvent en tête de plage, alors que je voudrais ne voir apparaître que les cellules qui ont une valeur, classées dans l'ordre croissant !
    Comment que c'est'y qu'on fait ?
    : :

  11. #11
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut
    Eh bin tu peux peut être faire un filtre au préalable non?
    Pti Pié

  12. #12
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    C'est embêtant de mettre "vide" à la place de "0"?
    Parce que la, dans un tri croissant, les cellules "vide" seront bien à la fin.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Non, non, ce n'est pas embêtant du tout. Et effectivement, Maintanant ça baigne !
    j'ai juste rajouté une petite condition "SI" dans ma formule de cellule pour que sa valeur ne soit plus égale à 0, mais à plutôt à "".
    Et le tour est joué.
    C'était devant mes yeux, et je n'y est pas pensé !!!

    Encore une fois merci à TOI, Mégaxel,

    Et que la force soit toujours avec toi !!!!

    " Ce que l'on sait le mieux, c'est ce que l'on a deviné, puis ce que l'on a appris par l'expérience. "
    Chamfort

  14. #14
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    C'est gentil, Squelet, mais tu oublies Zaza et Ousk !!
    Et crois-moi, si tu continues à poser des questions sur ce forum, tu auras très bientôt à les remercier eux aussi.

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Bien sûr,
    Merci à tous !!!

  16. #16
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2016
    Messages : 13
    Points : 3
    Points
    3
    Par défaut Trier une plage de cellule
    Citation Envoyé par repié Voir le message
    tu devrais recopier exactement l'enregistreur de macro et modifier juste les détails qui t'intéresse
    ca mache a chaque coup!

    parce que Excel doit tout simplement estimer qu'il lui manque des éléments...
    si l'enregistreur de macro pouvait tout faire comme tu le dis, ce forum n'aurait plus sa place !

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

Discussions similaires

  1. [LibreOffice][Tableur] Macro pour trier une plage de cellules dynamique
    Par jeando53 dans le forum OpenOffice & LibreOffice
    Réponses: 3
    Dernier message: 25/10/2016, 03h01
  2. [XL-2010] Trier une plage avec une plage de cellules comme critères
    Par Stanler dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/12/2015, 16h25
  3. [XL-2010] Trier sur une plage de cellules variable
    Par shipuden64 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/03/2015, 14h31
  4. [VBA-E] Image d'une plage de cellule
    Par flogreg dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/07/2004, 12h30
  5. [VBA-E] [Excel] Protection d'une plage de cellules
    Par fikou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/11/2002, 11h28

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