Bouton bascule avec un tri croissant

Bonjour à tous

Ci-dessous le code d'un bouton à bascule qui fonctionne mais je souhaite ajouter un tri croissant quand j'appui

la 1ère fois et revenir à la situation initiale quand j'appui la 2ème fois.

Le problème c'est que le code indiqué en commentaire pour faire le tri croissant ne fonctionne pas.

Surement grosse érreur de ma part mais je n'arrive pas à trouver la solution.

Pouvez vous m'aider?

Private Sub ToggleButton25_Click()

If ToggleButton25.Value Then

Range("Y:Y").EntireColumn.Hidden = True

Range("Z:Z").EntireColumn.Hidden = True

Range("AA:AA").EntireColumn.Hidden = True

Range("AB:AB").EntireColumn.Hidden = True

ActiveSheet.Range("$P$6:$P$800").AutoFilter field:=15, Criteria1:="<>0"

'Columns("M:M").Sort Key1:=Range("M6"), order1:=xlAscending'

End If

If Not ToggleButton25.Value Then

Range("Y:Y").EntireColumn.Hidden = False

Range("Z:Z").EntireColumn.Hidden = False

Range("AA:AA").EntireColumn.Hidden = False

Range("AB:AB").EntireColumn.Hidden = False

ActiveSheet.Range("$P$6:$P$800").AutoFilter field:=15, Criteria1:="<>0"

'Columns("M:M").Sort Key1:=Range("M6"), order1:=xlAscending'

End If

End Sub

Cdt,

Boubou

Bonsoir,

Tu tries une colonne, ça peut pas marcher.

Définis la plage entière à trier comme qualificateur de la méthode Sort. En key1 la première cellule de la colonne sur laquelle se fait le tri, ou la colonne elle-même, et indique aussi Header:= xlNo ou xlYes.

Cordialement

Ferrand

Bonjour Ferrand,

Columns("M:M";"AB:AB").Sort Key1:=Range("M6"), Header:= xlNo, order1:=xlAscending

Columns("M:M";"AB:AB").Sort Key1:=Range("M6"), Header:= xlYes, order1:=xlAscending

C'est comme cela ou je fais érreur

Merci pour ton aide

Boubou

Il est préférable de définir la plage si tu veux être sûr de ce qui sera trié.

Ex : Range("M6:AB300")

Tu inclues ou non l'en-tête (s'il y en une) dans la plage mais tu précises l'argument Header.

En étant trop vague tu laisses Excel décider de la plage à trier, ce qui peut réserver des surprises.

Cordialement

Ferrand

ok merci beaucoup

Bonjour,

Je reviens sur un sujet que j'ai posté hier et que je n'ai pas réussi à résoudre

Mettre un tri croissant avec un bouton bascule

Sur les conseils de Ferrand j'ai écris quelque chose mais sans succès

Columns("M:M", "AB:AB").Sort Key1:=Range("M6"), Header:=xlYes, order1:=xlAscending

Columns("M:M", "AB:AB").Sort Key1:=Range("M6"), Header:=xlNo, order1:=xlAscending

Etant novice, pouvez vous m'aider

Boubou

Ah ! NON ! Je n'ai pas écrit ça ! Faut lire ! Là tu indiques une plage multizone composée de 2 colonnes !

Je t'ai donné une indication de plage sous la forme : M6:AB300 à voir selon où commence ta plage à trier, tu ne l'as pas précisé et je ne la vois pas sur un fichier.

Bonjour Ferrand

En aucun cas, je n'ai voulu signifier que tu m'avais dit des bétises......

Mais c'est vrai je n'ai pas bien compris ce que tu m'as indiqué hier

Ci-joint un document

Je te remercie d'avance pou ton aide

Cdt,

Boubou


Pardon pour le manque d'indication,

Le tri croissant doit se faire sur la colonne D

BouBou

21exe1.xlsm (47.70 Ko)

Le bouton avait tendance à disparaître, je ne comprends pas très bien pourquoi. Cela a cessé en le rendant déplaçable avec les cellules.

25boubou-exe1.xlsm (47.16 Ko)

Bonjour Ferrand

Merci beaucoup pour ton aide c'est géniale

BOUBOU

Rechercher des sujets similaires à "bouton bascule tri croissant"