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 d'un tableau de longueur variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut Tri d'un tableau de longueur variable
    Bonjour,

    Je cherche à trier un tableau dont la longueur peut varier via VBA.

    Voici mon code sur une taille fixe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Range("A1:S1150").Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:= _
            Range("C2"), Order2:=xlAscending, Key3:=Range("B2"), Order3:=xlAscending _
            , Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
            xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
            DataOption3:=xlSortNormal
    J'enregistre la derniere ligne du tableau dans la variable derli. J'ai donc essayé le code suivant mais cela ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Range(cells(1,1),cells(19,derli)).Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:= _
            Range("C2"), Order2:=xlAscending, Key3:=Range("B2"), Order3:=xlAscending _
            , Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
            xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
            DataOption3:=xlSortNormal
    En espérant que quelqu'un sache comment faire. Merci pour votre aide.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Tu peux faire comme ça par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Range("A1").Select
    Selection.End(xlDown).Select
    j = ActiveCell.Row
    case_select = "S" & j
    Range("A1", case_select).Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:= Range("C2"), Order2:=xlAscending, Key3:=Range("B2"), Order:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
    A condition qu'aucune des cases de la colonne A de ton tableau ne soit vide.

  3. #3
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Tu peux aussi utiliser CurrentRegion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim myCell As Range
    Set myCell = Cells(1, 1)
    Set myCell = myCell.CurrentRegion

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Points : 85
    Points
    85
    Par défaut
    J'avais en fait inversé ligne et colonne ds mon code. Cela fonctionne.

    Merci à vous.

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

Discussions similaires

  1. [XL-2007] Formule d'un tableau à longueur variable
    Par laclac dans le forum Conception
    Réponses: 1
    Dernier message: 21/09/2012, 14h54
  2. [Tableaux] tri dans un tableau de variables
    Par astrolane dans le forum Langage
    Réponses: 12
    Dernier message: 15/10/2007, 19h55
  3. Tableau de chaînes de longueur variable
    Par alband85 dans le forum C#
    Réponses: 3
    Dernier message: 20/08/2007, 09h49
  4. Réponses: 1
    Dernier message: 25/05/2007, 10h55
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 08h43

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