Aide Fichier Tri

Bonjour,

Voilà une petite demande d’aide pour un fichier de tri, ou de double tri.
En fonction du fichier en pièce jointe, j’aimerai trier un premier tableau par rapport à un index du plus grand au plus petit puis trier ce même tableau par rapport au Prix du plus petit au plus grand.

Si quelqu’un pouvais m’aider soit en utilisant des formules excel soit par une macro.

J’arrive a tri le tableau1 pour avoir le tableau 2 mais je cale sur le tableau 3

Merci pour l’aide.

Bien à vous
Classeuressai.xlsx (11,2 Ko)

Bonjour ,

Avec le trie il es possible de pouvoir mettre plusieur condition .

Salutations

1 « J'aime »

Bonjour,
Merci pour la réponse mais le tri par prix me remélange les index.
je n’arrive pas a trier du plus petit au plus grand les prix des index 39.3, puis les prix de index 28.30 ainsi de suite.
Je ne sais pas si il y a des formules excel pour faire cela ou une macro pour le faire en automatique.

Merci pour vos réponse

Bien à vous

Bonjour

Je me permet d’intervenir sur ta problématique

Attention à ceci :

« je n’arrive pas a trier du plus petit au plus grand les prix des index 39.3, puis les prix de index 28.30 ainsi de suite. »

Chaque index si d’apparence sont des nombres à 2 chiffres après la virgule sont pour tous des données à 7 chiffres après la virgule et donc tous différents exemple le numéro 4 a pour index en affichage 20,90 en donnée réelle 20,8999996 le numéro 11 a pour index en affichage lui aussi 20,90 en donnée réelle 20,8999989
C’est 2 index bien qu’en apparence il soient identiques pour Excel ils sont différents car seule la donnée réelle est considérée par lui
Il donc impossible d’ordonner pour chacun leur prix étant considéré différent

J’ai dans le fichier ci-joint dans une colonne supplémentaire pour chaque index en données réelles à 7 chiffres décimales réduit par formule en 2 décimales et donc de rendre la donnée réelle identique à son affichage

Ainsi en triant par index d’ordonner leurs prix pour chacun d’eux du plus petit au plus grand

J’ai réalisé cette manipulation pour le Tableau1 avec la colonne supplémentaire « D » dans laquelle est intégrée une formule pour arrondir à 2 décimales chaque index

Puis un tri de la colonne « A » à la colonne « D » est réalisé ainsi :

Première colonne de tri la colonne ajoutée avec la formule colonne « D » pour regrouper les index
Deuxième colonne de tri pour ordonner les prix du plus petit au plus grand de chaque index colonne « C »

Ainsi tous les index sont regroupés avec dans l’ordre croissant leur prix

Cela devrait convenir dis moi

Classeuressai.xlsx (11,8 Ko)

Bonjour,

Merci pour ta réponse FFO, parfait pour moi comme cela.

Peut-on ajouter un bouton pour effectuer le tri plutôt que de passer par le bandeau ?

Bien à toi

Merci pour ton retour
Passer par un bouton nécessite un programmation en VBA sur celui-ci
Si tu programmes tel que je te l’ai indiqué tes 3 tableau x le tri attendu sera une bonne fois pour toute en place sans autres intervention celui-ci s’adapera à l’évolution des données seule celle du nombre de lignes nécessitera une adaptation de cette programmation initiale
Pour l’éviter mets dans celle-ci un nombre suffisant de ligne capable de répondre aux besoins à venir même vides le tri sera opérationnel et ainsi d’éviter de reparametrer l’environnement du tri

A toi de voir quelle option choisir : VBA avec bouton ou une initialisation adapté pour répondre aux besoins de l’instant et du futur

bonjour le fil,
Classeuressai.xlsm (26,7 Ko)

si la plage est un tableau structuré, on n’a pas de soucis concernant le nombre de ligne ou colonnes, autrement on sait faire beaucoup avec « currentregion » (nécessite une colonne et une ligne libre autour des données).
Tableau 2 avec currentregion, Tableau 3 comme tableau structuré.

Sub Tri_2()
     With Sheets("Feuil1").Range("F1").CurrentRegion
          .Sort .Range("B1"), xlDescending, Header:=xlYes
     End With
End Sub

Sub Tri_3()
     With Sheets("Feuil1").Range("J1").ListObject.Range
          .Sort .Range("B1"), xlDescending, , .Range("C1"), xlAscending, Header:=xlYes
     End With
End Sub


Merci a vous pour votre aide. Super beau boulot.

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.