J'ai 2 mn, donc, plus propre
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Sub MasquerUneCelluleEtEmpêcherAffichageC()
Dim F1 As Worksheet
Dim Plage
Set F1 = Worksheets("Feuil1") 'feuille à protéger
Set Plage = F1.Range("A1:G1,H1:N1,M1:S1")
If Environ(28) <> "MACHIN" Then
ActiveSheet.Unprotect
For Each Cel In Plage
If Not Cel.FormulaHidden Then Cel.FormulaHidden = True
Cel.Font.ColorIndex = 2
Next
ActiveSheet.Protect
End If
End Sub |
Testé et tout
A+
Meu non, ce n'est pas un pb.
Pour empêcher le mauvais user de désactiver les macros :
Au départ, tu masques toutes les feuilles et les verrouilles
A l'ouverture, dans Auto_Exec, tu les affiches et tu lances ta macro qui teste le User. Epicétou.
A l'ouverture du fichier, macros désactivées, tout reste masqué.
Faudra juste lui interdire Ctrl + Pause. Mais là, je me souviens plus si je sais faire
A+
Une astuce pour récupérer sans peine les adresses des cellules à "opérer"
1 2 3
| Dim r As Range
Set r = Application.InputBox("Sélectionner les cellules en appuyant sur la touche ctrl", Type:=8)
Cells(1, 1).Value = r.Address |
et tu récupères ce qu'il y a dans "A1"
Juste parce que je te sens réticent
A+
Tiens, grâce à Bidou, j'ai retrouvé comment neutraliser les touches d'arrêt
Application.EnableCancelKey = xlDisabled
Attends le dernier moment pour le mettre en place : une boucle mal faite et tu n'en sors qu'avec le gestionnaire des tâches...
A+
Partager