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 des colonnes EXCEL


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 123
    Par défaut Trier des colonnes EXCEL
    Salut le forum

    Je souhaite faire un tri sur une plage de cellules, et dès que mon nombre de critères est supérieur à 4 le programme plante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With ActiveWorkbook.Worksheets("PiecesAFabriquer")
            .Sort.SortFields.Clear
            .Range("A3", Range("M3").SpecialCells(xlCellTypeLastCell)).Sort Key1:=.Range("F3"), Order1:=xlAscending, Key2:=.Range("H3"), Order2:=xlAscending, Key3:=.Range("J3"), Order3:=xlAscending, Key4:=.Range("L3"), Order4:=xlAscending, Header:=xlNo 
            End With
    Existe-t-il une limite des critères key := ???

    Merci pour vos suggestions!!!

  2. #2
    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
    Par défaut
    Oui, tu es limité à trois critères. Mais tu peux combiner plusieurs tris successifs.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 123
    Par défaut
    d'accord!!!

    Et comment je peux combiner d'autres tri sans annuler les précédents???

  4. #4
    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
    Par défaut
    En commençant pas le dernier, par exemple... A vrai dire tout dépend de ce que tu veux obtenir au final. Là sans les données et un exemple de ce que tu veux obtenir... désolé.

  5. #5
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour tlm,

    C'est vrai que sans le classeur complet, il faut un peu jouer aux devinettes mais sur base du code initial, on pourrait en déduire que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    With ActiveWorkbook.Worksheets("PiecesAFabriquer")
        .Sort.SortFields.Clear
        With .Range("A3", Range("M3").SpecialCells(xlCellTypeLastCell))
        .Sort Key1:=.Range("L3"), Order1:=xlAscending, Header:=xlNo
        .Sort Key1:=.Range("J3"), Order1:=xlAscending, Header:=xlNo
        .Sort Key1:=.Range("H3"), Order1:=xlAscending, Header:=xlNo
        .Sort Key1:=.Range("F3"), Order1:=xlAscending, Header:=xlNo
        End With
    End With
    @+

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 123
    Par défaut
    salut Fring,

    Désolé, cette méthode ne fonctionne pas non plus, car seul le dernier filtre est pris en compte....

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 123
    Par défaut
    Je viens d'essayer une nouvelle méthode qui fonctionne plutôt bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ActiveWorkbook.Worksheets("PiecesAFabriquer").Sort.SortFields.Add Key:=Range("F" & FirstrowLaser & ":F" & LastrowLaser), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal  
    ActiveWorkbook.Worksheets("PiecesAFabriquer").Sort.SortFields.Add Key:=Range("H" & FirstrowLaser & ":H" & LastrowLaser), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal           
    ActiveWorkbook.Worksheets("PiecesAFabriquer").Sort.SortFields.Add Key:=Range("J" & FirstrowLaser & ":J" & LastrowLaser), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal  
            With ActiveWorkbook.Worksheets("PiecesAFabriquer").Sort
                .SetRange Range("A" & FirstrowLaser & ":M" & LastrowLaser)
                .Header = xlNo
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
    Seul problème, la dernière ligne de ma plage de cellules n'est pas triée...

Discussions similaires

  1. [ sortTable ] Trier des colonnes par statut (checked)
    Par van___fanel dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 03/04/2008, 17h33
  2. trier des données excel grâce à VBA
    Par fred2949 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/01/2008, 19h27
  3. [vb.net] Trier des données excel
    Par mel55 dans le forum VB.NET
    Réponses: 5
    Dernier message: 18/12/2007, 12h56
  4. Réponses: 7
    Dernier message: 31/10/2007, 16h42
  5. [Spreadsheet-WriteExcel] Largeur des colonnes Excel
    Par Longrais dans le forum Modules
    Réponses: 2
    Dernier message: 17/10/2005, 16h41

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