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 et fin de page [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Par défaut Tri et fin de page
    Bonjour,

    J'ai besoin d'effectuer un tri sur une feuille excel dans une macro.
    Dans l'exemple suivant, je trie par rapport aux colonnes B et C :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub Tri_Equipe()
    '
    ' Tri_Equipe Macro
    '
     
    '
        Windows("Data.xlsx").Activate
        ActiveWorkbook.Worksheets("Jour").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Jour").Sort.SortFields.Add Key:=Range("B3:B12759") _
            , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        ActiveWorkbook.Worksheets("Jour").Sort.SortFields.Add Key:=Range("C3:C12759") _
            , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Jour").Sort
            .SetRange Range("A3:AK12759")
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End Sub
    Ma problématique :
    Mon fichier grandit tous les jours, j'aimerais donc remplacer les 12759 par une commande indiquant la fin des colonnes.
    Quelqu'un a-t-il la solution?
    Merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bonjour,

    Remplace

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range ("A3:AK" & Range("AK65536").End(xlUp).Row)
    Cela correspond à la dernière ligne non vide la colonne AK.

    Je te laisse faire de même pour les 2 autres endroits où tu dois changer.

    Bonne chance pour la suite.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Par défaut
    Merci de cette réponse.
    Je rencontre néanmoins un problème étrange :
    Pour un fichier, je dois trier jusqu'à la colonne K. Dans ce cas, ta solution marche sans problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Application.WindowState = xlMinimized
        Sheets("Ecoute").Select
        ActiveWorkbook.Worksheets("Ecoute").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Ecoute").Sort.SortFields.Add Key:=Range("C3:C" & Range("C65536").End(xlUp).Row), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        ActiveWorkbook.Worksheets("Ecoute").Sort.SortFields.Add Key:=Range("E3:E" & Range("E65536").End(xlUp).Row), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Ecoute").Sort
            .SetRange Range("A3:K" & Range("K65536").End(xlUp).Row)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    pas de problème.

    Par contre, dans le cas où je dois aller jusqu'à la colonne AK, jai un message d'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Sheets("Jour").Select
        ActiveWorkbook.Worksheets("Jour").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Jour").Sort.SortFields.Add Key:=Range("B3:B" & Range("B65536").End(xlUp).Row), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        ActiveWorkbook.Worksheets("Jour").Sort.SortFields.Add Key:=Range("C3:C" & Range("C65536").End(xlUp).Row), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Jour").Sort
            .SetRange ("A3:AK" & Range("AK65536").End(xlUp).Row)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    Aucune différence pourtant... Incompatibilité de type pour la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .SetRange ("A3:AK" & Range("AK65536").End(xlUp).Row)
    Quelqu'un a-t-il une explication, une solution?

    Merci.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Par défaut
    En fait je me suis craqué dans un copier/coller et il manquait un début d'instruction. Donc tout marche parfaitement.
    Merci encore.

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

Discussions similaires

  1. Envoyer un bloc d'elements en fin de page
    Par benito16 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 09/06/2008, 09h04
  2. Etat avec Ruptures et fin de Page
    Par JP.NUAGE dans le forum Approche théorique du décisionnel
    Réponses: 0
    Dernier message: 05/06/2008, 21h50
  3. [Joomla!] Chargement sans fin des pages en local
    Par amine2610 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 08/03/2008, 18h28
  4. Problème de fin de page
    Par Virtual78 dans le forum iReport
    Réponses: 1
    Dernier message: 16/11/2007, 14h44
  5. Redirection en fin de page
    Par FamiDoo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/01/2005, 16h14

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