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

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : septembre 2017
    Messages : 49
    Points : 33
    Points
    33

    Par défaut Trier un tableau en fonction d'une colonne

    Bonjour,

    J'aimerai trier l'ensemble des lignes d'un tableau des données en fonction du tri d'une colonne de ce tableau. Dans mon exemple, le tableau comporte 4 colonnes. Et le souci, c'est de classer les lignes, de façon à ce que la 4ème colonne soit triée.

    Noms X Y Centroïde
    Item 1 0.1 2 3
    Item 2 1.5 0.5 1
    Item 3 0.5 2.5 2
    Item 4 1 2.3 1

    Ce tableau devient :

    Noms X Y Centroïde
    Item 2 1.5 0.5 1
    Item 4 1 2.3 1
    Item 3 0.5 2.5 2
    Item 1 0.1 2 3

    Cordialement

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    11 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 11 152
    Points : 22 487
    Points
    22 487

    Par défaut

    Sélectionne toutes tes colonnes > Ruban Données > Icone Trier
    Tu cliques sur le carré avec une flèche vers le bas qui est apparu dans l'entête de la colonne 4 > Trier du plus petit au plus grand.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : septembre 2017
    Messages : 49
    Points : 33
    Points
    33

    Par défaut

    Citation Envoyé par Menhir Voir le message
    Sélectionne toutes tes colonnes > Ruban Données > Icone Trier
    Tu cliques sur le carré avec une flèche vers le bas qui est apparu dans l'entête de la colonne 4 > Trier du plus petit au plus grand.
    Merci bcp. J'aimerai plutôt le faire en VBA, car cette plage variera

  4. #4
    Membre expert
    Homme Profil pro
    Responsable des études
    Inscrit en
    juillet 2014
    Messages
    1 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2014
    Messages : 1 767
    Points : 3 647
    Points
    3 647

    Par défaut

    Bonjour,

    Allume l'enregistreur de macro, suis les consignes de Menhir, ferme l'enregistreur, tu obtiendras 90% du code.
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  5. #5
    Membre régulier
    Inscrit en
    juin 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : juin 2009
    Messages : 70
    Points : 100
    Points
    100

    Par défaut

    bonjour
    Une fois que tu as crée ton tableau, tu le sélectionnes entièrement et tu vas dans "style / mettre sous forme de tableau".
    Une fois ce tableau créé, tu tries suivant la colonne qui t'intéresse. Tu verras apparaitre une petite flèche dans l'en-tête de ta colonne
    Nom : icone.JPG
Affichages : 37
Taille : 16,0 Ko
    par la suite, chaque ligne ajoutée sera intégrée au tableau et tu auras juste à cliquer sur le petit icone pour réexécuter le tri.

    Le VBA ne t'apportera pas grand chose de plus

    Nekko

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    11 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 11 152
    Points : 22 487
    Points
    22 487

    Par défaut

    Citation Envoyé par Vbajon Voir le message
    cette plage variera
    Elle variera comment ?

    En plus, une plage filtrée, c'est beaucoup plus souple qu'un code VBA pour s'adapter aux "variations".

    A moins que ce soit un exercice scolaire imposé.
    Dans ce cas, regarde la méthode Sort de Range : https://msdn.microsoft.com/fr-fr/lib.../ff840646.aspx
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : septembre 2017
    Messages : 49
    Points : 33
    Points
    33

    Par défaut

    Citation Envoyé par Menhir Voir le message
    Sélectionne toutes tes colonnes > Ruban Données > Icone Trier
    Tu cliques sur le carré avec une flèche vers le bas qui est apparu dans l'entête de la colonne 4 > Trier du plus petit au plus grand.
    Ca ne me permet de ne trier que de A à Z, et non du plus petit au plus grand. Y a t-il une solution à cela?

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : septembre 2017
    Messages : 49
    Points : 33
    Points
    33

    Par défaut

    Citation Envoyé par Vbajon Voir le message
    Ca ne me permet de ne trier que de A à Z, et non du plus petit au plus grand. Y a t-il une solution à cela?
    Oups, je n'avais pas sélectionné la bonne colonne. Ca marche maintenant

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : septembre 2017
    Messages : 49
    Points : 33
    Points
    33

    Par défaut

    Citation Envoyé par halaster08 Voir le message
    Bonjour,

    Allume l'enregistreur de macro, suis les consignes de Menhir, ferme l'enregistreur, tu obtiendras 90% du code.
    Oui j'ai enregistré la macro. Bon pour l'instant je vais m'en tenir à un tableau de taille fixe, pour commencer

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : septembre 2017
    Messages : 49
    Points : 33
    Points
    33

    Par défaut

    Toutes vos solutions marchent bien. Bon le but de cet exercice est d'afficher les points (X,Y) qui ont la même valeur de la dernière colonne (d'où le tri).

    Pour l'instant j'ai enregistré une macro qui crée un nouvel objet de type Chart et va sélectionner et afficher un groupe de points.
    Voici la macro :
    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 createmychart()
    Dim chart1 As Chart
    Set chart1 = Charts.Add
     
      ActiveChart.ChartArea.Select
        ActiveChart.ChartArea.Select
        Application.CutCopyMode = False
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.FullSeriesCollection(1).XValues = "=MaFeuille!$B$2:$B$10"
        ActiveChart.FullSeriesCollection(1).Values = "=MaFeuille!$C$2:$C$10"
     
        ActiveChart.FullSeriesCollection(1).Select
        ActiveChart.ChartArea.Select
        ActiveChart.ChartType = xlXYScatter
     
    End Sub
    Mais j'aimerai sélectionner et afficher par groupe les points qui ont la même valeur de la dernière colonne. Par exemple, ceux dont la valeur dans la dernière colonne est 1 seront sélectionner ensemble et afficher, puis seront ajouter ceux dont la valeur dans la dernière colonne est 2, ainsi de suite. Ces groupes de points auront évidement pas la même couleur ou les mêmes formes. Quelqu'un a une idée?

  11. #11
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    11 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 11 152
    Points : 22 487
    Points
    22 487

    Par défaut

    Citation Envoyé par Vbajon Voir le message
    Oui j'ai enregistré la macro. Bon pour l'instant je vais m'en tenir à un tableau de taille fixe, pour commencer
    Même si le nombre de colonne de ton tableau change, enlever et remettre un filtre, ça prend (au max) 5 s.
    Plus rapide que de modifier le code d'une macro.

    Citation Envoyé par Vbajon Voir le message
    Toutes vos solutions marchent bien. Bon le but de cet exercice est d'afficher les points (X,Y) qui ont la même valeur de la dernière colonne (d'où le tri).
    Dans ce cas, ce n'est pas un filtre qu'il te faut mais un tableau croisé dynamique.
    http://silkyroad.developpez.com/excel/tcd/
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2017
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : septembre 2017
    Messages : 49
    Points : 33
    Points
    33

    Par défaut

    Dans une instruction comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveChart.FullSeriesCollection(1).XValues = "=MaFeuille!$B$2:$B$10"
    Quelqu'un sait comment passer l'indice 2, ou 10 en paramètre (quelque chose qu'on peut incrémenter dans une boucle for par exemple)?

  13. #13
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    11 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 11 152
    Points : 22 487
    Points
    22 487

    Par défaut

    Comme aurait dit Lapalisse, si tu veux que le "1" soit variable, remplace-le par une variable.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/03/2015, 14h04
  2. Réponses: 5
    Dernier message: 04/02/2014, 10h52
  3. Réponses: 4
    Dernier message: 27/05/2010, 09h07
  4. Réponses: 1
    Dernier message: 11/02/2008, 16h45
  5. Trier les résultats en fonction d'une colonne ordre
    Par eclipse012 dans le forum PHP & MySQL
    Réponses: 8
    Dernier message: 05/01/2007, 13h59

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