Bonjour à tous,
j'ai un classeur excel protégé autorisant uniquement les utilisateurs à selectionner les cellules déverouillées.
Et je souhaiterais tout de meme leur permettre de masquer/afficher les colonnes.
Si je coche l'option "format de colonne" lors de la protection, cela leur donne la possibilité de changer également les formats, comme la largeur etc... et je ne veux pas.
Surtout après seulement 3h23 d'attente... En principe, on patiente au moins 24h ...
Le problème, c'est le déclencheur...
Si tu décoches Format de colonne, Masquer devient grisé dans le clic droit.
Eventuellement, à condition de prévenir les utilisateurs, le clic droit dans la colonne peut être traité ainsi dans le code de feuille
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not IsNumeric(Mid(Target.Address, 2, 1)) And Mid(Target.Address, 2, 1) = Mid(Target.Address, 5, 1) Then
Me.Unprotect "MdP"
Target.EntireColumn.Hidden = True
Me.Protect "MdP"
Cancel = True
End If
End Sub
qui fonctionne jusqu'à la colonne Z, à l'unité. Si ça te convient, on regardera pour accepter 2 lettres, et surtout pour leur permettre de démasquer .
Bonne journée
Bonjour Tonino7 ,Surtout après seulement 3h23 d'attente... En principe, on patiente au moins 24h ...
Le problème, c'est le déclencheur...
Si tu décoches Format de colonne, Masquer devient grisé dans le clic droit.
Eventuellement, à condition de prévenir les utilisateurs, le clic droit dans la colonne peut être traité ainsi dans le code de feuille
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not IsNumeric(Mid(Target.Address, 2, 1)) And Mid(Target.Address, 2, 1) = Mid(Target.Address, 5, 1) Then
Me.Unprotect "MdP"
Target.EntireColumn.Hidden = True
Me.Protect "MdP"
Cancel = True
End If
End Sub
qui fonctionne jusqu'à la colonne Z, à l'unité. Si ça te convient, on regardera pour accepter 2 lettres, et surtout pour leur permettre de démasquer .
Bonne journée
Merci Beaucoup ! j'avais effectivement pas pensé à ça. D'après ton post, j'en déduis donc que le dégrisage unique de la fonction Masquer/Afficher n'est pas possible en vba? Je vais abandonner cette piste dans ces cas là merci quand meme.
Merci Beaucoup ! j'avais effectivement pas pensé à ça. D'après ton post, j'en déduis donc que le dégrisage unique de la fonction Masquer/Afficher n'est pas possible en vba? Je vais abandonner cette piste dans ces cas là merci quand meme.
C'est peut-être possible, plus exactement il faudrait créer un menu contextuel supplémentaire pour masquer/démasquer en appellant une macro.
Mais ce qui ne sera pas évident à ce moment-là, c'est de déterminer ce qu'il faut masquer ou démasquer.
Mais as-tu essayé mon fichier, ça me parraissait une bonne alternative ?
Bonne fin de journée
Re ,C'est peut-être possible, plus exactement il faudrait créer un menu contextuel supplémentaire pour masquer/démasquer en appellant une macro.
Mais ce qui ne sera pas évident à ce moment-là, c'est de déterminer ce qu'il faut masquer ou démasquer.
Mais as-tu essayé mon fichier, ça me parraissait une bonne alternative ?
Bonne fin de journée
oui j'ai essayé ton fichier. C'est une bonne alternative. Mais il faudrait pouvoir sélectionner plusieurs colonnes en meme temps pour que les utilisateurs de mon fichiers soient satisfaits (quasiment comme la fonction masquer/afficher)
Mais il faudrait pouvoir sélectionner plusieurs colonnes en meme temps pour que les utilisateurs de mon fichiers soient satisfaits (quasiment comme la fonction masquer/afficher)