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 classeur Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 899
    Par défaut Tri classeur Excel
    Bonjour à tous,
    J'ai un classeur excel que je souhaiterais trié automatiquement après avoir sélectionné et trié une colonne (tri avec "étendre la sélection"). J'arrive à sélectionner la plage, à la trier mais je n'arrive pas à trier toutes les autres colonnes par apport à la colonne triée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Range(Cells(2, num_col), Cells(i - 1, num_col)).Select
    Selection.Sort Key1:=Range("J1")
    Si quelqu'un pouvait m'aider merci

  2. #2
    Membre émérite
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 367
    Par défaut
    Bonjour

    tu ne sélectionne qu'une colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(2, num_col), Cells(i - 1, num_col)).Select
    il faut que tu sélectionne toutes les colonnes que tu veux trier.

    Puis trier comme tu l'as fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Sort Key1:=Range("J1")
    Bonne journée.

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    utilises l'enregistreur de macro, en utilisant l'outil "trier" de l'onglet données pour réaliser ton tri

    tu y trouveras les propriétés et méthodes nécessaires de la méthode Sort (notamment "SetRange")

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 899
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    Bonjour,

    utilises l'enregistreur de macro, en utilisant l'outil "trier" de l'onglet données pour réaliser ton tri

    tu y trouveras les propriétés et méthodes nécessaires de la méthode Sort (notamment "SetRange")
    *******************************************
    Merci à toi je viens de faire ce que tu m'as dit ça marche nickel !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Range(Cells(2, num_col), Cells(i - 1, num_col)).Select
        ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("J2"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Feuil1").Sort
            .SetRange Range("A2:Y19")
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 899
    Par défaut
    Citation Envoyé par a_diard Voir le message
    Bonjour

    tu ne sélectionne qu'une colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(2, num_col), Cells(i - 1, num_col)).Select
    il faut que tu sélectionne toutes les colonnes que tu veux trier.

    Puis trier comme tu l'as fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Sort Key1:=Range("J1")
    Bonne journée.
    ******************************************
    Merci pour ton aide mais si je peux me permettre je ne suis pas d'accord avec toi, si je le fait manuellement :
    - je sélectionne ma colonne je la trie (de A à Z) puis à la demande d'Excel :Que voulez vous faire ?
    - je réponds "Etendre la sélection" et là toutes les colonnes sont triées sur l'ordre de tri de la colonne triée

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

Discussions similaires

  1. Tri incorrect dans le classeur Excel 2010
    Par Négrier dans le forum Excel
    Réponses: 10
    Dernier message: 07/10/2017, 13h56
  2. Tri sur plusieurs classeur excel
    Par Cyril28 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/02/2008, 17h10
  3. Ouverture classeur excel en VBSCRIPT
    Par coeur74 dans le forum ASP
    Réponses: 6
    Dernier message: 20/01/2005, 15h53
  4. Ouverture classeur excel en VBSCRIPT
    Par coeur74 dans le forum ASP
    Réponses: 2
    Dernier message: 20/01/2005, 09h11
  5. [VBA-Excel,VB6,Fichier texte]enregistrer un classeur excel..
    Par Tarul dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/01/2005, 13h09

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