Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Masquage sous condition

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Brigitte

XLDnaute Barbatruc
Bonjour tout le monde,

Je vais continuer de chercher, mais si vous aviez le bout de code sous la main...

Comment faire une macro pour masquer (puis une autre pour démasquer) des lignes selon le contenu d'une cellule. En gros, je choisirai une colonne (H dans mon fichier pour l'instant) et si qqchse est présent (le mot "masquer" ici), en cliquant sur mon bouton masquage, ca masque. Inverse possible.

Petite cerise sur le gâteau, car j'hésite : même chose si rien dans la cellule.
Merci à vous.
 

Pièces jointes

Re : Masquage sous condition

Bonjour bonjour,

JC ca marche (enfin je croise les doigts car l'autre jour, j'avais crié Victoire et boum badaboum ! sans savoir pourquoi).

Merci boucou boucou.

Fo_rum :
pourquoi n'utilises-tu pas simplement le filtre en H1 .

Bennnnnnn, va savoir, parce que j'aime vraiment maintenant le togglebutton de JC. Parce que pourquoi faire simple quand on peut faire compliqué (une Brigitte, je te dis pas...).
Sinon j'ai regardé ton fichier, pas tout compris pourtant dieu sait que tu sembles avoir aussi bien fait les choses (explications, macro)... Et surtout, ca reste protégé et je ne peux pas cliquer sur la cellule H1 de ce fait, ni dans aucune autre cellule avec filtre... (c'est encore pire, je dirais).

Bon pour l'instant, j'adopte JC (arf).

Bisous à tous les deux
 
Dernière édition:
Re : Masquage sous condition

Re,

Désolé de te perturber ainsi 😉

Fo_rum :

Sinon dieu sait que tu sembles avoir aussi bien fait les choses (explications, macro)...
Cette remarque est inexacte : je n'ai pas été assez attentif 🙁.
Pour ceux qui seraient intéressés, les filtres seront autorisés à condition de remplacer l'avant-dernière ligne par
Code:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True
Je change le fichier pour éviter des manipulations supplémentaires.

ajout : Merci (il y en a un qui me comprend 😉).
 
Dernière édition:
Re : Masquage sous condition

Re,

JC, encore besoin de toi...

Où est ce que je peux mettre le allowfiltering=true dans ta macro ? car sans ca, j'ai pas accès aux autres filtres par rapport à la soluce de chris qui me permettait plus l'accès au togglebutton. Je veux le beurre et l'argent du beurre !
Merci à toi.

EDIT :

Je crois que j'ai su faire, dis moi si c correct, stp :

Code:
Private Sub Workbook_Open()
For Each Sh In Sheets
Sh.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True, AllowFiltering:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Next
End Sub
 
Dernière édition:
Re : Masquage sous condition

Bonjour à tous,

Et le sourire de la crémière...
C'est exactement cela

Vérifier aussi que le Bouton ne soit pas protégé (passe en mode création, click droit sur ce bouton, Format de Contrôle, Protection et décocher Verroullié). C'est une précaution supplémentaire...

Bises
A+ à tous
 
Dernière édition:
Re : Masquage sous condition

Bonjour à tous,

Ah ce niveau de fonctionnement, il serait souhaitable que tu déposes ton fichier pour voir ce que tu as mis et où... Arf... Arf...
Anonymise, T'ites Couettes, si besoin

Bises
A + à tous
 
Re : Masquage sous condition

Complément,

Je pense que tout vient peut être du fait que dans ce classeur, il y avait déjà un workbook open :

Code:
Private Sub Workbook_Open()
 'Activer la première feuille
    Worksheets("Correspondance mandats").Activate
 'Pas encore de modifs
    Modif = False

et je ne sais pas grouper...

Mais même en la désactivant ca ne marche pas.


EDIT : le souci est que mon classeur n'est pas diffusable (en bal privée je peux... mais pas sur le forum).
 
Re : Masquage sous condition

Re,

Je tente de mettre un bout de fichier...

Je voudrais :

- à l'ouverture ouvrir sur cette première feuille (dans le vrai, y en a plein)
- protéger mais permettre sans déprotéger : filtrage partout, clic dans les cellules et modifs, togglebutton masquer/afficher.

Je comprends pas avant ca marchait, mais là j'ai l'impression que la protection permet pas tout ca... peut etre que ton code, JC, ne permettait pas tout ce que le code de chris/mth permettait (tu sais, quand on fait en manuel, on dit : permettre le filtrage, le rajout de lignes...). Faut que je creuse.

Merci.
 

Pièces jointes

Re : Masquage sous condition

Bonjour à tous,

Voici pour permettre le tri, les filtres, l'insertion de lignes et de colonnes, la création de TCD...

VB:
Private Sub Workbook_Open()
    'Activer la première feuille
    Worksheets("Correspondance mandats").Activate
    'Pas encore de modifs
    Modif = False
    For Each Sh In Sheets
        Sh.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
                   False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
                   AllowFormattingRows:=True, AllowInsertingRows:=True, AllowDeletingRows:= _
                   True, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:= _
                   True, UserInterfaceOnly:=True
        ActiveSheet.EnableSelection = xlUnlockedCells
    Next
End Sub

Pour les cellules que tu autorises à modifier, il faut décocher "Verrouillé" par le format de cellules.

Mais je me pose une question : pourquoi protéger la(es) feuille(s), si tu autorises presque tout.... Arf et Niark (Coucou Vince...)

A + à tous
 
Re : Masquage sous condition

Oh la la... tu vas pas le croire... J'ai une explication sur ce qui s'est passé. Tant pis si je passe pour une cruche... Je te la dois maintenant que je crois avoir compris pourquoi j'avais la sensation que ca marchait.

En fait j'ai créé un tas de fichiers qui doivent être protégés car utilisés par d'autres que moi, moins doués en excel (si si ca existe) mais leur permettant néanmoins de filtrer et surtout de cliquer sur une cellule sans pour autant pouvoir en modifier le contenu ou les formules.

Et pour éviter que moi, qui alimente la chose, sois ennuyée, j'avais contourné et j'avais oublié depuis...

On a créé un joli petit classeur qui liste tous ces fichiers et en cochant ceux que je veux MOI, ouvrir, ca les ouvre mais les déprotège à l'ouverture, pour me permettre de faire mes modifs en m'évitant les déprotections de chaque feuille, et le classeur se protège de nouveau à la fermeture.

Là dessus, j'avais créé voici un moment, un raccourci vers ce fichier ci (le seul) et voilà que j'ai donc rajouté ton togglebutton et donc... selon si je l'ouvre :

- avec mon classeur "ouverture fichiers" en cochant (qui déprotège)
- avec mon raccourci vers ce fichier....

et bien il ne se comporte pas pareil.

Ceci explique que les tests que j'avais faits avec vos macro "this workbook open".... me paraissaient marcher.

Et donc pour finir, tu as grandement raison... pourquoi permettre tout ca si on protège.

Donc merci avant tout et surtout je crois que je vais intégrer dans ma macro "raccourci de ce seul fichier" une déprotection puisque moi je sais que je peux le faire. En revanche, il faut qu'ils puissent filtrer et cliquer sur le togglebutton mais bien sûr pas toucher au contenu, pas rajouter ni enlever de lignes.

Bref, je vais réfléchir de nouveau à tout ca...

Mille mercis pour ta patience, JC, gros bisous, tu m'en veux pas ? Vive ma mémoire ! L'essentiel, c'est qu'elle soit revenue.
 
Re : Masquage sous condition

Re,

En fait, je vais contourner pour moi en rajoutant dans ma macro raccourci pour ouvrir ce fichier, une déprotection...

MAIS comme je veux la laisser pour les autres, j'aimerais tout de même qu'il ne se produise pas ce qui se passe avec vos macros : qu'on puisse cliquer dans les cellules même si on ne peut pas en changer le contenu, car ce n'est pas très agréable de ne pas pouvoir se balader avec le curseur.... et de ne pas pouvoir voir le contenu (sans le modifier).
Dans ce cas que faut il rajouter au code pour éviter ce blocage ?
 
Re : Masquage sous condition

Bonsoir,

Pour ceux qui m'ont aidée, (ou pour moi plus tard pour complèter le fil), chris vient de me donner un bout de code pour éviter que la protection mise en place empêche de se positionner dans les cellules (verrouillées, JC, promis) sans pouvoir les modifier mais au moins pour les voir :


Ajoute sous la ligne de protection avant le next
feuille.EnableSelection = xlNoRestrictions


Voilà voilà, on a fait avancer le schmilimili... merci chris... suite des aventures demain, lorsque je vais réimplanter dans le vrai fichier.

Tout s'est passé comme si vos codes respectifs contrairement à un code fait avec l'enregistreur de macros :

- verrouillent les cellules
- puis protègent et empêchent d'aller dans les cellules

alors qu'avec l'enregistreur :

- ca ne protège que les cellules verrouillées préalablement
- ca empêche juste de saisir dans les cellules : message d'alerte et pas blocage

Voilou.

Nouveau code :

Code:
Private Sub Workbook_Open()
 'Activer la première feuille
    Worksheets("Correspondance mandats").Activate
 'Pas encore de modifs
    Modif = False
    For Each feuille In Sheets
    feuille.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
    , AllowInsertingColumns:=True, AllowDeletingRows:=True, AllowSorting:= _
    True, AllowFiltering:=True, UserInterfaceOnly:=True
  feuille.EnableSelection = xlNoRestrictions
  
Next

End Sub

Code avec enregistreur (partie protection)

Code:
Sub protection()
'
' protection Macro
'

'
    Cells.Select
    Selection.Locked = False
    Selection.FormulaHidden = False
    Columns("C:C").Select
    Selection.Locked = True
    Selection.FormulaHidden = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Cherchez l'erreur : où est ce que la sélection de cellules était impossible dans le code....
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
372
  • Question Question
Réponses
5
Affichages
630
Réponses
2
Affichages
411
Réponses
3
Affichages
432
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…