Bonsoir
Ta demande est effectivement très simple...quoique...
Si tu permets, je te suggère de simplifier un peu plus:
Par exemple, de ne mettre qu'UN bouton, qui capte la valeur de la cellule sélectionnée, va à la feuille résultats, et filtre le tableau. plus 1 bouton sur cette page pour annuler le filtre et aller à la page synthèse.
Je t'ai fait une macro pour filtrer ton tableau, et une pour créer les boutons, + 1 pr annuler. Pr les commentaires, tu as raison ds le principe, mais c'est un peu long et fastidieux de commenter chaque ligne. Si j'ai du temps et du courage, j'en ferai un peuu plusssss plus tard. En attendant, sers-toi de ça, regarde bien les lignes, et demande-moi évtuellmnt des explications*, ou des commandes supplémentaires, pour affiner ton travail.
Sélectionne ces macros avec la souris, Copie-les, ouvre ton fichier, fais Alt+F11, regarde la colonne de gauche: tu vois le nom de ton fichier, le nom des feuilles, et "ThisWorkbook". dbl-clic sur cette mention, et ctrl+V dans la page. ENREGISTRE le fichier. clic ds la macro BOUTONS_DE_FILTRAGE, tape sur F5, tu as tes boutons; Clic dans la cellule du choix feuille "Synthèse", clic sur le bouton, tu as ton résultat.
Sub FILTRE()
'Clic dans la cellule du choix feuille "Synthèse"
Dim MaCell As Range
Sheets("Synthèse" ).Select
Set MaCell = ActiveCell.Offset(0, 1)
MaCell.Value = "" 'supp la valeur à côté de la Selection
Choix = ActiveCell.Value
Colonne = 4 '
'Colonne = ActiveCell.Column
Sheets("Résultat" ).Select
Range("A1" ).CurrentRegion.Select
Selection.AutoFilter
Selection.AutoFilter Field:=Colonne, Criteria1:=Choix, Operator:=xlAnd
'''''''''''''''''''''''''''''''
nbrangs = Selection.SpecialCells(xlCellTypeVisible).Rows.Count 'nbre de rangs sélectionnés
MaCell.Value = nbrangs ' inscrit ce nbre en col B de synthèse à côté de la cell sélectionnée.
'''''''''''''''''''''''''''si tu veux supprimer le filtre et aller directement à la fl synthèse, supprime les apostrophes au début des lignes choisies.
' Selection.AutoFilter
' Sheets("Synthèse" ).Select
End Sub
Sub BOUTONS_DE_FILTRAGE()
'Je tai fait 2 macros qui installent ces boutons sur tes feuilles :
Sheets("Synthèse" ).Select
Rows("1:1" ).RowHeight = 25
'Application.CommandBars("Forms" ).Visible = True
ActiveSheet.Buttons.Add(309.75, 6, 215.25, 19).Select
Selection.OnAction = "ThisWorkbook.FILTRE"
Selection.Characters.Text = "FILTRAGE"
With Selection.Characters(Start:=1, Length:=8).Font
.FontStyle = "Gras"
.Size = 14
End With
Range("D1" ).Select
Sheets("Résultat" ).Select
Rows("1:1" ).RowHeight = 25
ActiveSheet.Buttons.Add(309.75, 6, 215.25, 19).Select
Selection.OnAction = "ThisWorkbook.NO_Filtre"
Selection.Characters.Text = "Supprime Filtre"
With Selection.Characters(Start:=1, Length:=15).Font
.FontStyle = "Gras"
.Size = 14
End With
Range("D1" ).Select
' Pour info, 1 bouton pour macro s'obtient en cliquant: affichage, barres d'outils, formulaires. dans cette barre, clic sur le rectgle gris ("bouton" )
'reviens là où tu le veux, clic et dessine ton bouton; si tu connais le nom de la macro, tu l'écris dans la ligne (le nom EXACT !!!), ou bien
'échapp, et tu le feras après. 'et change le nom.
End Sub
Sub NO_Filtre()
Sheets("Résultat" ).Select
Range("A1" ).Select
Selection.AutoFilter Field:=1, Criteria1:="", Operator:=xlAnd
Selection.AutoFilter
Sheets("Synthèse" ).Select
End Sub
Sinon, pr les explications, le mieux est encore d'acheter un bouquin...
A+
---------------
Olympus OM-D EM-5 + 14-42