Cliquer pour sélectionner et déselectionner

nickos2406

XLDnaute Junior
Bonjour,

Malgré les recherches depuis plusieurs heures, je n'arrive pas à trouver de solution à mon problème...

voilà, je travaille sous Excel 2003, je tatonne sur vba. J'ai un fichier dans lequel j'ai créé des macros de filtrage de données. Dans un tableau de données, j'ai inséré un rectangle, auquel j'ai attaché une macro, qui permet de filtrer plus facilement (et de changer la couleur du bouton lorsqu'il filtre=shape.range).

J'aimerai maintenant trouver un moyen pour pouvoir après avoir cliqué sur ce bouton, et fait apparaitre mon filtrage tableau, re-cliquer dessus pour qu'il me le dé-sélectionne...

Je vous mets le code vba de ce bouton...

" Selection.AutoFilter Field:=8, Criteria1:="Travail"
ActiveSheet.Shapes("Rectangle 28").Select
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.SchemeColor = 18
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(153, 0, 0)
Selection.ShapeRange.Fill.BackColor.SchemeColor = 44
Selection.ShapeRange.Fill.TwoColorGradient msoGradientHorizontal, 4
Selection.Font.ColorIndex = 2
Range("A1").Select
''

Merci beaucoup pour votre aide...
Nicko
 

jetted

XLDnaute Occasionnel
Re : Cliquer pour sélectionner et déselectionner

Allo

J'aborde dans le meme sens que Pascal

Code:
Sub auto_open()
'desactive le filtre si il est activé
'a l'ouverture du fichier
    If ActiveSheet.AutoFilterMode = True Then
       ActiveSheet.AutoFilterMode = False
    End If
End Sub
 

nickos2406

XLDnaute Junior
Re : Cliquer pour sélectionner et déselectionner

Merci pour propositions, et la rapidité...

En fait, j'ai plusieurs bouton que je peux cliquer pour affiner le filtrage. Avec les deux propositions, l'une m'enlève le filtre auto et l'autre ne me permet pas d'exécuter des filtres sur plusieurs colonnes...

J'essaie de trouver un moyen pour qu'il déselectionne seulement le filtre sur lequel je clique...

Merci d'avance... encore :)

Nickos
 

nickos2406

XLDnaute Junior
Re : Cliquer pour sélectionner et déselectionner

Je reviens à la charge...

J'ai modifié ma macro, en ajoutant ce début (cf code cidessous). Cependant, la macro s'execute en entier... Il filtre, puis défiltre... :(

Je sens que je suis proche mais peut etre encore loin...

" If Selection.AutoFilter(Field:=8, Criteria1:="<>travail") = True Then
Selection.AutoFilter Field:=8

Else
Selection.AutoFilter Field:=8, Criteria1:="<>travail", Operator:=xlAnd
ActiveSheet.Shapes("Rectangle 48").Select
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.SchemeColor = 18
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(153, 0, 0)
Selection.ShapeRange.Fill.BackColor.SchemeColor = 44
Selection.ShapeRange.Fill.TwoColorGradient msoGradientHorizontal, 4
Selection.Font.ColorIndex = 2
Range("A1").Select
End If
End Sub
 
Dernière édition:

Statistiques des forums

Discussions
312 294
Messages
2 086 947
Membres
103 404
dernier inscrit
sultan87