Je me permets de reposter une question qui a obtenu une réponse presque
complète de Croquignol mais où il manque un petit élément que je ne sais
comment réaliser moi-même. Voici la question telle que je l'ai posée le
15.10.2003.
J'aimerais mettre à disposition des intéressés, une classeur EXCEL qui
contient une feuille dont toutes les cellules sont verrouillées à
l'exception d'une colonne.
J'aimerais que malgré que cette feuille soit protégée, les utilisateurs
puissent utiliser le filtre automatique pour faire des tris (provisoires et
non ENREGISTRABLES bien sur!) selon leurs besoins. Hors si la feuille est
protégée ce n'est pas possible...
Proposé par Croquignol, la solution ci-dessous fonctionne à l'exception que
le tri est enregistré en quittant le classeur!
Private Sub Workbook_Open()
Feuil7.Protect UserInterfaceOnly:=True
Feuil7.EnableAutoFilter = True
End Sub
Manu/ a alors proposé la solution ci-dessous pour provoquer l'affichage
total du contenu (non filtré):
Private Sub Workbook_Deactivate()
On Error Resume Next
Sheets("Ecarts d'audit").ShowAllData
End Sub
Mais cela ne fonctionne pas!
Quelqu'un aurait-il une idée car là je suis un béotien?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Denis Michon
Bonjour Jean-Claude,
Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub
Ta procédure est correcte, le seul détail, c'est que ton filtre automatique doit déjà être sur ta feuille (flèche affichée) avant de protéger ta feuille. C'est tout !
Salutations!
"Jean-Claude" <perlerjc(news)@ateliers-gerine.ch> a écrit dans le message de news:bmoarp$88j$ Bonjour à tous,
Je me permets de reposter une question qui a obtenu une réponse presque complète de Croquignol mais où il manque un petit élément que je ne sais comment réaliser moi-même. Voici la question telle que je l'ai posée le 15.10.2003.
J'aimerais mettre à disposition des intéressés, une classeur EXCEL qui contient une feuille dont toutes les cellules sont verrouillées à l'exception d'une colonne.
J'aimerais que malgré que cette feuille soit protégée, les utilisateurs puissent utiliser le filtre automatique pour faire des tris (provisoires et non ENREGISTRABLES bien sur!) selon leurs besoins. Hors si la feuille est protégée ce n'est pas possible...
Proposé par Croquignol, la solution ci-dessous fonctionne à l'exception que le tri est enregistré en quittant le classeur!
Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub
Manu/ a alors proposé la solution ci-dessous pour provoquer l'affichage total du contenu (non filtré):
Private Sub Workbook_Deactivate() On Error Resume Next Sheets("Ecarts d'audit").ShowAllData End Sub
Mais cela ne fonctionne pas!
Quelqu'un aurait-il une idée car là je suis un béotien?
Merci à tous et bonne journée.
Jean-Claude
Bonjour Jean-Claude,
Private Sub Workbook_Open()
Feuil7.Protect UserInterfaceOnly:=True
Feuil7.EnableAutoFilter = True
End Sub
Ta procédure est correcte, le seul détail, c'est que ton filtre automatique doit déjà être sur ta feuille (flèche
affichée) avant de protéger ta feuille. C'est tout !
Salutations!
"Jean-Claude" <perlerjc(news)@ateliers-gerine.ch> a écrit dans le message de news:bmoarp$88j$1@rex.ip-plus.net...
Bonjour à tous,
Je me permets de reposter une question qui a obtenu une réponse presque
complète de Croquignol mais où il manque un petit élément que je ne sais
comment réaliser moi-même. Voici la question telle que je l'ai posée le
15.10.2003.
J'aimerais mettre à disposition des intéressés, une classeur EXCEL qui
contient une feuille dont toutes les cellules sont verrouillées à
l'exception d'une colonne.
J'aimerais que malgré que cette feuille soit protégée, les utilisateurs
puissent utiliser le filtre automatique pour faire des tris (provisoires et
non ENREGISTRABLES bien sur!) selon leurs besoins. Hors si la feuille est
protégée ce n'est pas possible...
Proposé par Croquignol, la solution ci-dessous fonctionne à l'exception que
le tri est enregistré en quittant le classeur!
Private Sub Workbook_Open()
Feuil7.Protect UserInterfaceOnly:=True
Feuil7.EnableAutoFilter = True
End Sub
Manu/ a alors proposé la solution ci-dessous pour provoquer l'affichage
total du contenu (non filtré):
Private Sub Workbook_Deactivate()
On Error Resume Next
Sheets("Ecarts d'audit").ShowAllData
End Sub
Mais cela ne fonctionne pas!
Quelqu'un aurait-il une idée car là je suis un béotien?
Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub
Ta procédure est correcte, le seul détail, c'est que ton filtre automatique doit déjà être sur ta feuille (flèche affichée) avant de protéger ta feuille. C'est tout !
Salutations!
"Jean-Claude" <perlerjc(news)@ateliers-gerine.ch> a écrit dans le message de news:bmoarp$88j$ Bonjour à tous,
Je me permets de reposter une question qui a obtenu une réponse presque complète de Croquignol mais où il manque un petit élément que je ne sais comment réaliser moi-même. Voici la question telle que je l'ai posée le 15.10.2003.
J'aimerais mettre à disposition des intéressés, une classeur EXCEL qui contient une feuille dont toutes les cellules sont verrouillées à l'exception d'une colonne.
J'aimerais que malgré que cette feuille soit protégée, les utilisateurs puissent utiliser le filtre automatique pour faire des tris (provisoires et non ENREGISTRABLES bien sur!) selon leurs besoins. Hors si la feuille est protégée ce n'est pas possible...
Proposé par Croquignol, la solution ci-dessous fonctionne à l'exception que le tri est enregistré en quittant le classeur!
Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub
Manu/ a alors proposé la solution ci-dessous pour provoquer l'affichage total du contenu (non filtré):
Private Sub Workbook_Deactivate() On Error Resume Next Sheets("Ecarts d'audit").ShowAllData End Sub
Mais cela ne fonctionne pas!
Quelqu'un aurait-il une idée car là je suis un béotien?
Merci à tous et bonne journée.
Jean-Claude
Jean-Claude
Bonjour Denis,
Merci Denis de ta réponse! Cette partie fonctionne. C'est la deuxième partie qui ne fonctionne pas, celle qui devrait montrer toutes les données quel que soit l'état des filtres de colonnes en quittant le classeur!
Tu vois le pb? Voilà ce que Manu/ a proposé mais cela ne fonctionne pas: raison?
Private Sub Workbook_Deactivate()
On Error Resume Next Sheets("Ecarts d'audit").ShowAllData End Sub
Si tu as une idée ce serait formidable!
Merci pour ton aide.
Jean-Claude
Bonjour Denis,
Merci Denis de ta réponse!
Cette partie fonctionne. C'est la deuxième partie qui ne fonctionne pas,
celle qui devrait montrer toutes les données quel que soit l'état des
filtres de colonnes en quittant le classeur!
Tu vois le pb? Voilà ce que Manu/ a proposé mais cela ne fonctionne pas:
raison?
Private Sub Workbook_Deactivate()
On Error Resume Next
Sheets("Ecarts d'audit").ShowAllData
End Sub
Merci Denis de ta réponse! Cette partie fonctionne. C'est la deuxième partie qui ne fonctionne pas, celle qui devrait montrer toutes les données quel que soit l'état des filtres de colonnes en quittant le classeur!
Tu vois le pb? Voilà ce que Manu/ a proposé mais cela ne fonctionne pas: raison?
Private Sub Workbook_Deactivate()
On Error Resume Next Sheets("Ecarts d'audit").ShowAllData End Sub
Si tu as une idée ce serait formidable!
Merci pour ton aide.
Jean-Claude
Denis Michon
Bonjour Jean-Claude,
Essaie ceci :
'----------------------------------- ''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then Feuil7.Range("_filterdatabase").AutoFilter End If '-----------------------------------
'--------------------------------- 'Pour remettre les flèches du filtre lorsqu'elles sont absentes
"Jean-Claude" <perlerjc(news)@ateliers-gerine.ch> a écrit dans le message de news:bmoqk8$9qs$ Bonjour Denis,
Merci Denis de ta réponse! Cette partie fonctionne. C'est la deuxième partie qui ne fonctionne pas, celle qui devrait montrer toutes les données quel que soit l'état des filtres de colonnes en quittant le classeur!
Tu vois le pb? Voilà ce que Manu/ a proposé mais cela ne fonctionne pas: raison?
Private Sub Workbook_Deactivate()
On Error Resume Next Sheets("Ecarts d'audit").ShowAllData End Sub
Si tu as une idée ce serait formidable!
Merci pour ton aide.
Jean-Claude
Bonjour Jean-Claude,
Essaie ceci :
'-----------------------------------
''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then
Feuil7.Range("_filterdatabase").AutoFilter
End If
'-----------------------------------
'---------------------------------
'Pour remettre les flèches du filtre lorsqu'elles sont absentes
"Jean-Claude" <perlerjc(news)@ateliers-gerine.ch> a écrit dans le message de news:bmoqk8$9qs$1@rex.ip-plus.net...
Bonjour Denis,
Merci Denis de ta réponse!
Cette partie fonctionne. C'est la deuxième partie qui ne fonctionne pas,
celle qui devrait montrer toutes les données quel que soit l'état des
filtres de colonnes en quittant le classeur!
Tu vois le pb? Voilà ce que Manu/ a proposé mais cela ne fonctionne pas:
raison?
Private Sub Workbook_Deactivate()
On Error Resume Next
Sheets("Ecarts d'audit").ShowAllData
End Sub
"Jean-Claude" <perlerjc(news)@ateliers-gerine.ch> a écrit dans le message de news:bmoqk8$9qs$ Bonjour Denis,
Merci Denis de ta réponse! Cette partie fonctionne. C'est la deuxième partie qui ne fonctionne pas, celle qui devrait montrer toutes les données quel que soit l'état des filtres de colonnes en quittant le classeur!
Tu vois le pb? Voilà ce que Manu/ a proposé mais cela ne fonctionne pas: raison?
Private Sub Workbook_Deactivate()
On Error Resume Next Sheets("Ecarts d'audit").ShowAllData End Sub
Si tu as une idée ce serait formidable!
Merci pour ton aide.
Jean-Claude
Jean-Claude
Merci Denis pour ta peine!
Je n'ai plus que tes éléments ci-dessous dans ThisWorkbook. J'ai fermé le classeur après avoir "filtré" sur une colonne. Lorsque je rouvre le classeur, les flèches du filtre sont visibles mais toutes inactives! C'est resté en l'état, filtré, mais on ne peut plus modifier le filtrage (rappel, la feuille est verrouillée).
Cela fonctionne presque mais...
Encore une idée?
Merci beaucoup.
Jean-Claude
'----------------------------------- ''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then Feuil7.Range("_filterdatabase").AutoFilter End If '-----------------------------------
'--------------------------------- 'Pour remettre les flèches du filtre lorsqu'elles sont absentes
Je n'ai plus que tes éléments ci-dessous dans ThisWorkbook.
J'ai fermé le classeur après avoir "filtré" sur une colonne.
Lorsque je rouvre le classeur, les flèches du filtre sont visibles mais
toutes inactives! C'est resté en l'état, filtré, mais on ne peut plus
modifier le filtrage (rappel, la feuille est verrouillée).
Cela fonctionne presque mais...
Encore une idée?
Merci beaucoup.
Jean-Claude
'-----------------------------------
''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then
Feuil7.Range("_filterdatabase").AutoFilter
End If
'-----------------------------------
'---------------------------------
'Pour remettre les flèches du filtre lorsqu'elles sont absentes
Je n'ai plus que tes éléments ci-dessous dans ThisWorkbook. J'ai fermé le classeur après avoir "filtré" sur une colonne. Lorsque je rouvre le classeur, les flèches du filtre sont visibles mais toutes inactives! C'est resté en l'état, filtré, mais on ne peut plus modifier le filtrage (rappel, la feuille est verrouillée).
Cela fonctionne presque mais...
Encore une idée?
Merci beaucoup.
Jean-Claude
'----------------------------------- ''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then Feuil7.Range("_filterdatabase").AutoFilter End If '-----------------------------------
'--------------------------------- 'Pour remettre les flèches du filtre lorsqu'elles sont absentes
Je ne peut reproduire ton problème. Chez moi, Excel 2002, cela fonctionne très bien
J'espère que tu n'as pas oublié de mettre dans le ThisWorkbook de ton classeur la procédure "Open"
Est-ce que Feuil7 correspond bien à la feuille où tu exécutes tes filtres ? '---------------------------- Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub '----------------------------
Une dernière chose : Range("_filterdatabase") pour que cette objet existe, il faut qu'un filtre automatique ait été exécuté au moins une fois sur une plage de données dans la feuille.
Salutations!
"Jean-Claude" <perlerjc(news)@ateliers-gerine.ch> a écrit dans le message de news:bmouv0$aa7$ Merci Denis pour ta peine!
Je n'ai plus que tes éléments ci-dessous dans ThisWorkbook. J'ai fermé le classeur après avoir "filtré" sur une colonne. Lorsque je rouvre le classeur, les flèches du filtre sont visibles mais toutes inactives! C'est resté en l'état, filtré, mais on ne peut plus modifier le filtrage (rappel, la feuille est verrouillée).
Cela fonctionne presque mais...
Encore une idée?
Merci beaucoup.
Jean-Claude
'----------------------------------- ''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then Feuil7.Range("_filterdatabase").AutoFilter End If '-----------------------------------
'--------------------------------- 'Pour remettre les flèches du filtre lorsqu'elles sont absentes
Je ne peut reproduire ton problème. Chez moi, Excel 2002, cela fonctionne très bien
J'espère que tu n'as pas oublié de mettre dans le ThisWorkbook de ton classeur la procédure "Open"
Est-ce que Feuil7 correspond bien à la feuille où tu exécutes tes filtres ?
'----------------------------
Private Sub Workbook_Open()
Feuil7.Protect UserInterfaceOnly:=True
Feuil7.EnableAutoFilter = True
End Sub
'----------------------------
Une dernière chose : Range("_filterdatabase") pour que cette objet existe, il faut qu'un filtre automatique ait été
exécuté au moins une fois sur une plage de données dans la feuille.
Salutations!
"Jean-Claude" <perlerjc(news)@ateliers-gerine.ch> a écrit dans le message de news:bmouv0$aa7$1@rex.ip-plus.net...
Merci Denis pour ta peine!
Je n'ai plus que tes éléments ci-dessous dans ThisWorkbook.
J'ai fermé le classeur après avoir "filtré" sur une colonne.
Lorsque je rouvre le classeur, les flèches du filtre sont visibles mais
toutes inactives! C'est resté en l'état, filtré, mais on ne peut plus
modifier le filtrage (rappel, la feuille est verrouillée).
Cela fonctionne presque mais...
Encore une idée?
Merci beaucoup.
Jean-Claude
'-----------------------------------
''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then
Feuil7.Range("_filterdatabase").AutoFilter
End If
'-----------------------------------
'---------------------------------
'Pour remettre les flèches du filtre lorsqu'elles sont absentes
Je ne peut reproduire ton problème. Chez moi, Excel 2002, cela fonctionne très bien
J'espère que tu n'as pas oublié de mettre dans le ThisWorkbook de ton classeur la procédure "Open"
Est-ce que Feuil7 correspond bien à la feuille où tu exécutes tes filtres ? '---------------------------- Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub '----------------------------
Une dernière chose : Range("_filterdatabase") pour que cette objet existe, il faut qu'un filtre automatique ait été exécuté au moins une fois sur une plage de données dans la feuille.
Salutations!
"Jean-Claude" <perlerjc(news)@ateliers-gerine.ch> a écrit dans le message de news:bmouv0$aa7$ Merci Denis pour ta peine!
Je n'ai plus que tes éléments ci-dessous dans ThisWorkbook. J'ai fermé le classeur après avoir "filtré" sur une colonne. Lorsque je rouvre le classeur, les flèches du filtre sont visibles mais toutes inactives! C'est resté en l'état, filtré, mais on ne peut plus modifier le filtrage (rappel, la feuille est verrouillée).
Cela fonctionne presque mais...
Encore une idée?
Merci beaucoup.
Jean-Claude
'----------------------------------- ''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then Feuil7.Range("_filterdatabase").AutoFilter End If '-----------------------------------
'--------------------------------- 'Pour remettre les flèches du filtre lorsqu'elles sont absentes
Non, j'avais supprimé cette partie du code croyant qu'il ne fallait que ta partie!
Voici ci-dessous exactement ce que contient ThisWorkbook maintenant: cela ne fonctionne pas non plus, "Erreur de compilation, seul des commentaires peuvent apparaître apres END SUB......"
Je n'y connait rien en VBA, dis-moi exactement comment cela doit doit être dans ThisWorkbook je fais manifestement quelque de faux et qui me dépasse!
Je travaille avec la même version d'EXCEL que toi: EXCEL 2000 (9.0.4402)
Y arrivera-t-on?
Merci beaucoup pour ta patience.
Jean-Claude
'---------------------------- Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub '----------------------------
'----------------------------------- ''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then Feuil7.Range("_filterdatabase").AutoFilter End If '-----------------------------------
'--------------------------------- 'Pour remettre les flèches du filtre lorsqu'elles sont absentes
Non, j'avais supprimé cette partie du code croyant qu'il ne fallait que ta
partie!
Voici ci-dessous exactement ce que contient ThisWorkbook maintenant: cela ne
fonctionne pas non plus, "Erreur de compilation, seul des commentaires
peuvent apparaître apres END SUB......"
Je n'y connait rien en VBA, dis-moi exactement comment cela doit doit être
dans ThisWorkbook je fais manifestement quelque de faux et qui me dépasse!
Je travaille avec la même version d'EXCEL que toi: EXCEL 2000 (9.0.4402)
Y arrivera-t-on?
Merci beaucoup pour ta patience.
Jean-Claude
'----------------------------
Private Sub Workbook_Open()
Feuil7.Protect UserInterfaceOnly:=True
Feuil7.EnableAutoFilter = True
End Sub
'----------------------------
'-----------------------------------
''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then
Feuil7.Range("_filterdatabase").AutoFilter
End If
'-----------------------------------
'---------------------------------
'Pour remettre les flèches du filtre lorsqu'elles sont absentes
Non, j'avais supprimé cette partie du code croyant qu'il ne fallait que ta partie!
Voici ci-dessous exactement ce que contient ThisWorkbook maintenant: cela ne fonctionne pas non plus, "Erreur de compilation, seul des commentaires peuvent apparaître apres END SUB......"
Je n'y connait rien en VBA, dis-moi exactement comment cela doit doit être dans ThisWorkbook je fais manifestement quelque de faux et qui me dépasse!
Je travaille avec la même version d'EXCEL que toi: EXCEL 2000 (9.0.4402)
Y arrivera-t-on?
Merci beaucoup pour ta patience.
Jean-Claude
'---------------------------- Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub '----------------------------
'----------------------------------- ''Si le filtre est actif , enlève le filtre et affiche toutes les données
If Feuil7.AutoFilterMode = True Then Feuil7.Range("_filterdatabase").AutoFilter End If '-----------------------------------
'--------------------------------- 'Pour remettre les flèches du filtre lorsqu'elles sont absentes
'---------------------------- Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub '----------------------------
Ce qui suit, c'est 1 petit bout de procédure te permettant d'effectuer ce que tu désires.
Tu insères un bouton de commande émanant de ta barre d'outils "FORMULAIRE" Tu places ton bouton à un endroit qui demeurera visible lors de l'exécution de tes filtres. Tu attaches la macro suivante à ton bouton de commande (Tu dois modifier dans la procédure le nom du bouton de commande en conformité avec ton projet)
Copie ce qui suit dans un module Standard.
'-------------------------------- Sub Activer_Désactiver_LeFiltre()
'Ce qui sera écrit sur le bouton sera modifiée 'selon l'état du filtre appliqué sur la feuille.
Dim Sh As Button
'Modifie le nom du bouton d'après celui de ton application 'Sélectionne le bouton, regarde à gauche de la barre des 'formules, le nom du bouton y sera ! Set Sh = Feuil1.Shapes("Bouton 5").OLEFormat.Object
If Feuil1.AutoFilterMode = True Then 'Si le filtre est actif , enlève le filtre Feuil1.Range("_filterdatabase").AutoFilter Sh.Caption = "Appel du Filtre" Else 'Pour remettre les flèches du filtre Feuil1.Range("_filterdatabase").AutoFilter Sh.Caption = "Désactiver le Filtre" End If
End Sub '--------------------------------
Salutations!
Bonjour Jean-Claude,
Ceci va dans le ThisWorkbook :
'----------------------------
Private Sub Workbook_Open()
Feuil7.Protect UserInterfaceOnly:=True
Feuil7.EnableAutoFilter = True
End Sub
'----------------------------
Ce qui suit, c'est 1 petit bout de procédure te permettant d'effectuer ce que tu désires.
Tu insères un bouton de commande émanant de ta barre d'outils "FORMULAIRE"
Tu places ton bouton à un endroit qui demeurera visible lors de l'exécution de tes filtres.
Tu attaches la macro suivante à ton bouton de commande (Tu dois modifier dans la
procédure le nom du bouton de commande en conformité avec ton projet)
Copie ce qui suit dans un module Standard.
'--------------------------------
Sub Activer_Désactiver_LeFiltre()
'Ce qui sera écrit sur le bouton sera modifiée
'selon l'état du filtre appliqué sur la feuille.
Dim Sh As Button
'Modifie le nom du bouton d'après celui de ton application
'Sélectionne le bouton, regarde à gauche de la barre des
'formules, le nom du bouton y sera !
Set Sh = Feuil1.Shapes("Bouton 5").OLEFormat.Object
If Feuil1.AutoFilterMode = True Then
'Si le filtre est actif , enlève le filtre
Feuil1.Range("_filterdatabase").AutoFilter
Sh.Caption = "Appel du Filtre"
Else
'Pour remettre les flèches du filtre
Feuil1.Range("_filterdatabase").AutoFilter
Sh.Caption = "Désactiver le Filtre"
End If
'---------------------------- Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub '----------------------------
Ce qui suit, c'est 1 petit bout de procédure te permettant d'effectuer ce que tu désires.
Tu insères un bouton de commande émanant de ta barre d'outils "FORMULAIRE" Tu places ton bouton à un endroit qui demeurera visible lors de l'exécution de tes filtres. Tu attaches la macro suivante à ton bouton de commande (Tu dois modifier dans la procédure le nom du bouton de commande en conformité avec ton projet)
Copie ce qui suit dans un module Standard.
'-------------------------------- Sub Activer_Désactiver_LeFiltre()
'Ce qui sera écrit sur le bouton sera modifiée 'selon l'état du filtre appliqué sur la feuille.
Dim Sh As Button
'Modifie le nom du bouton d'après celui de ton application 'Sélectionne le bouton, regarde à gauche de la barre des 'formules, le nom du bouton y sera ! Set Sh = Feuil1.Shapes("Bouton 5").OLEFormat.Object
If Feuil1.AutoFilterMode = True Then 'Si le filtre est actif , enlève le filtre Feuil1.Range("_filterdatabase").AutoFilter Sh.Caption = "Appel du Filtre" Else 'Pour remettre les flèches du filtre Feuil1.Range("_filterdatabase").AutoFilter Sh.Caption = "Désactiver le Filtre" End If
End Sub '--------------------------------
Salutations!
Jean-Claude
Bonsoir Denis,
Un grand merci pour ton aide!
Après une petite pause forcée, j'ai essayé ta solution. Je pense que je fais quelque chose de faux car cela ne fonctionne pas. Vu le temps investi ainsi que le tien, je renonce à cette solution. Je pense que cela me dépasse quelque peu et je te fais perdre ton temps...
Alors encore une fois merci beaucoup de ta patience et pour ton aide.
Jean-Claude
"Denis Michon" a écrit dans le message de news:A2Wjb.1709$
Bonjour Jean-Claude,
Ceci va dans le ThisWorkbook :
'---------------------------- Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub '----------------------------
Ce qui suit, c'est 1 petit bout de procédure te permettant d'effectuer ce que tu désires.
Tu insères un bouton de commande émanant de ta barre d'outils "FORMULAIRE" Tu places ton bouton à un endroit qui demeurera visible lors de l'exécution de tes filtres. Tu attaches la macro suivante à ton bouton de commande (Tu dois modifier dans la procédure le nom du bouton de commande en conformité avec ton projet)
Copie ce qui suit dans un module Standard.
'-------------------------------- Sub Activer_Désactiver_LeFiltre()
'Ce qui sera écrit sur le bouton sera modifiée 'selon l'état du filtre appliqué sur la feuille.
Dim Sh As Button
'Modifie le nom du bouton d'après celui de ton application 'Sélectionne le bouton, regarde à gauche de la barre des 'formules, le nom du bouton y sera ! Set Sh = Feuil1.Shapes("Bouton 5").OLEFormat.Object
If Feuil1.AutoFilterMode = True Then 'Si le filtre est actif , enlève le filtre Feuil1.Range("_filterdatabase").AutoFilter Sh.Caption = "Appel du Filtre" Else 'Pour remettre les flèches du filtre Feuil1.Range("_filterdatabase").AutoFilter Sh.Caption = "Désactiver le Filtre" End If
End Sub '--------------------------------
Salutations!
Bonsoir Denis,
Un grand merci pour ton aide!
Après une petite pause forcée, j'ai essayé ta solution. Je pense que je fais quelque chose de faux car cela ne fonctionne pas. Vu le
temps investi ainsi que le tien, je renonce à cette solution. Je pense que cela me dépasse quelque peu et je te fais perdre ton
temps...
Alors encore une fois merci beaucoup de ta patience et pour ton aide.
Jean-Claude
"Denis Michon" <denis.michon@cgocable.ca> a écrit dans le message de news:A2Wjb.1709$V11.1087@charlie.risq.qc.ca...
Bonjour Jean-Claude,
Ceci va dans le ThisWorkbook :
'----------------------------
Private Sub Workbook_Open()
Feuil7.Protect UserInterfaceOnly:=True
Feuil7.EnableAutoFilter = True
End Sub
'----------------------------
Ce qui suit, c'est 1 petit bout de procédure te permettant d'effectuer ce que tu désires.
Tu insères un bouton de commande émanant de ta barre d'outils "FORMULAIRE"
Tu places ton bouton à un endroit qui demeurera visible lors de l'exécution de tes filtres.
Tu attaches la macro suivante à ton bouton de commande (Tu dois modifier dans la
procédure le nom du bouton de commande en conformité avec ton projet)
Copie ce qui suit dans un module Standard.
'--------------------------------
Sub Activer_Désactiver_LeFiltre()
'Ce qui sera écrit sur le bouton sera modifiée
'selon l'état du filtre appliqué sur la feuille.
Dim Sh As Button
'Modifie le nom du bouton d'après celui de ton application
'Sélectionne le bouton, regarde à gauche de la barre des
'formules, le nom du bouton y sera !
Set Sh = Feuil1.Shapes("Bouton 5").OLEFormat.Object
If Feuil1.AutoFilterMode = True Then
'Si le filtre est actif , enlève le filtre
Feuil1.Range("_filterdatabase").AutoFilter
Sh.Caption = "Appel du Filtre"
Else
'Pour remettre les flèches du filtre
Feuil1.Range("_filterdatabase").AutoFilter
Sh.Caption = "Désactiver le Filtre"
End If
Après une petite pause forcée, j'ai essayé ta solution. Je pense que je fais quelque chose de faux car cela ne fonctionne pas. Vu le temps investi ainsi que le tien, je renonce à cette solution. Je pense que cela me dépasse quelque peu et je te fais perdre ton temps...
Alors encore une fois merci beaucoup de ta patience et pour ton aide.
Jean-Claude
"Denis Michon" a écrit dans le message de news:A2Wjb.1709$
Bonjour Jean-Claude,
Ceci va dans le ThisWorkbook :
'---------------------------- Private Sub Workbook_Open() Feuil7.Protect UserInterfaceOnly:=True Feuil7.EnableAutoFilter = True End Sub '----------------------------
Ce qui suit, c'est 1 petit bout de procédure te permettant d'effectuer ce que tu désires.
Tu insères un bouton de commande émanant de ta barre d'outils "FORMULAIRE" Tu places ton bouton à un endroit qui demeurera visible lors de l'exécution de tes filtres. Tu attaches la macro suivante à ton bouton de commande (Tu dois modifier dans la procédure le nom du bouton de commande en conformité avec ton projet)
Copie ce qui suit dans un module Standard.
'-------------------------------- Sub Activer_Désactiver_LeFiltre()
'Ce qui sera écrit sur le bouton sera modifiée 'selon l'état du filtre appliqué sur la feuille.
Dim Sh As Button
'Modifie le nom du bouton d'après celui de ton application 'Sélectionne le bouton, regarde à gauche de la barre des 'formules, le nom du bouton y sera ! Set Sh = Feuil1.Shapes("Bouton 5").OLEFormat.Object
If Feuil1.AutoFilterMode = True Then 'Si le filtre est actif , enlève le filtre Feuil1.Range("_filterdatabase").AutoFilter Sh.Caption = "Appel du Filtre" Else 'Pour remettre les flèches du filtre Feuil1.Range("_filterdatabase").AutoFilter Sh.Caption = "Désactiver le Filtre" End If