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 :

Faire un tri sur un tableau à partir d'une colonne de celui-ci [XL-2000]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Faire un tri sur un tableau à partir d'une colonne de celui-ci
    Bonjour vous tous!


    J'y connais pas grand chose en macro (l'informatique de la fac est très loin ) et j'ai eu beau lire pleins de programme je ne trouve pas ce que je recherche donc je vais vous expliquer ce qui m'énerve ce matin au bureau (en oubliant pas la version 2000 de excel qui m'explose les yeux...).

    J'ai un tableau de 5 colonnes ( nom du cours d'eau - Localisation - Moyenne interannuelle des Débits- Moyenne Mensuelle- % du rapport entre les deux moyennes), ce que je souhaiterais faire c'est à partir du tri croissant de la colonne 5 (les %) créer un nouveau tableau plus bas qui soit en accord avec le tri.. je sais pas si vous comprenez bien :p

    en gros ça donnerais ça

    le tableau pas trié:
    La Seugne Saint-Seurin-de-Palenne [La Lijardière] 9,45 7,337 78%
    La Boutonne Saint-Séverin-sur-Boutonne [Moulin de Châtre] 7,41 8,847 119%
    La Seudre Saint-André-de-Lidon 1,54 0,587 38%
    Le Lay Mareuil sur Lay - Dissais (Vendée) 8,47 14,39 170%
    La Vienne [Ingrandes] 160 145,92 91%

    et le tableau trié :
    Le Lay Mareuil sur Lay - Dissais (Vendée) 8,47 14,39 170%
    La Boutonne Saint-Séverin-sur-Boutonne [Moulin de Châtre] 7,41 8,847 119%
    La Vienne [Ingrandes] 160 145,92 91%
    La Seugne Saint-Seurin-de-Palenne [La Lijardière] 9,45 7,337 78%
    La Seudre Saint-André-de-Lidon 1,54 0,587 38%

    en gros que la ligne soit trié en même temps que la cellule des % de ma colonne 5

    Je vous remercie d'avance pour votre aide!!!

  2. #2
    Membre habitué
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 120
    Points : 175
    Points
    175
    Par défaut
    Tudevrais pouvoir réaliser cela en utilisant un filtre automatique (autofilter, voir dans l'aide excel) et en copiant les cellules restées visibles (il y a qqchose comme xlSpecialCellsTypeVisible qui te permet de faire ça) dans la plage désirée.

    Désolé je ne peux pas faire plus, je suis limité.

  3. #3
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour noobie,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Macro1()
    derLigne = Range("A65536").End(xlUp).Row + 10
    Range("A2:E" & derLigne).Copy Range("A" & derLigne)
    Application.CutCopyMode = False
    Range("A" & derLigne & ":E" & Range("A65536").End(xlUp).Row).Select
    Selection.Sort Key1:=Range("E" & derLigne + 1), Order1:=xlDescending, Header:=xlGuess _
        , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
    End Sub
    isabelle

    Merci de m'aider à votre tour en indiquant si le problème est résolu.
    faite un clic sur le bouton en bas à gauche de la page.
    http://club.developpez.com/regles/#L4.12

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci pour ton code

    mais ça marche pas ^^"

    voilà ce que ça me donne :
    http://yfrog.com/4vessaismacro2j

    et si tu pouvais juste un peu m'expliquer ton code je pourrais comprendre... enfin après ça c'est pas très grave mais bon, si tu as le temps j'aimerais bien comprendre

  5. #5
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour noobie,

    cette macro transfert les valeurs et non les formules.

    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
    Sub Macro1()
    'calcul le nombre de ligne de la plage
    nbLigne = Range("A65536").End(xlUp).Row
    'dertermine à quel ligne seront reporter les données
    Ligne = Range("A65536").End(xlUp).Row + 10
    'selectionne la nouvelle plage
    Range("A" & Ligne & ":E" & Ligne + nbLigne - 2).Select
     
    With Selection
    'transfert les valeurs et les trie
      .Value = Range("A2:E" & nbLigne).Value
      .Sort Key1:=Range("E" & Ligne + 1), Order1:=xlDescending, Header:=xlGuess _
        , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
    End With
     
    End Sub
    isabelle

    Merci de m'aider à votre tour en indiquant si le problème est résolu.
    faite un clic sur le bouton en bas à gauche de la page.
    http://club.developpez.com/regles/#L4.12

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup pour ton aide!!

    je comprends mieux maintenant enfin même si il y a des termes que je comprends pas

  7. #7
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour noobie,

    quel sont les termes que tu ne comprend pas ? je vais les expliquer.
    isabelle

    Merci de m'aider à votre tour en indiquant si le problème est résolu.
    faite un clic sur le bouton en bas à gauche de la page.
    http://club.developpez.com/regles/#L4.12

  8. #8
    Membre éprouvé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 410
    Points : 1 243
    Points
    1 243
    Par défaut
    Salut à tous,
    excusez moi d'intervenir dans ce post, j'ai juste une question sur la réponse proposée:

    On est pas obligé de definir les variables que l'on utilise???
    genre:

    Salut à tous et merci @# yoyo3d

  9. #9
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour yoyo3d,

    On est pas obligé de definir les variables que l'on utilise???
    c'est toujours mieux de déclarer les variables, mais c'est obligatoire seulement s'il y a l'instruction Option Explicit dans le haut du module.

    extrait de l'aide:
    Si l'instruction Option Explicit apparaît dans un module, vous devez déclarer explicitement toutes les variables à l'aide des instructions Dim, Private, Public, ReDim ou Static. Si vous tentez d'utiliser un nom de variable non déclarée, une erreur se produit à la compilation.
    isabelle

    Merci de m'aider à votre tour en indiquant si le problème est résolu.
    faite un clic sur le bouton en bas à gauche de la page.
    http://club.developpez.com/regles/#L4.12

  10. #10
    Membre éprouvé
    Avatar de yoyo3d
    Homme Profil pro
    Administratif
    Inscrit en
    Avril 2002
    Messages
    410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2002
    Messages : 410
    Points : 1 243
    Points
    1 243
    Par défaut
    ok merci pour cette info...
    Salut à tous et merci @# yoyo3d

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

Discussions similaires

  1. Filtre et tri sur l'en-tête d'une colonne d'un tableau
    Par davidtse dans le forum GWT et Vaadin
    Réponses: 6
    Dernier message: 25/11/2010, 10h20
  2. Réponses: 2
    Dernier message: 07/05/2010, 13h36
  3. Comment faire un Tri sur plusieurs champs
    Par guile153 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/07/2006, 12h52
  4. [Collection] Tri sur un tableau d'entier
    Par Grand sorcier dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 17/07/2006, 16h07
  5. [Tableaux] tri sur un tableau multi-dimensionnel
    Par nicoaix dans le forum Langage
    Réponses: 1
    Dernier message: 12/04/2006, 21h23

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