protéger la non visibilité des onglets de classeur

O

oriop

Guest
Bonjour le forum,

Existe-t-il la possiblité de faire ce qui est demande dans le sujet, c'est à dire interdire à l'utilisateur la remise en place des onglets du classeur (solution en Vba ou excel).


merci d'avance à tous.
 

jeromegmc

XLDnaute Occasionnel
Salut,

Oui: outils / protection / protéger la feuille

Attention: l'utilisateur ne pourra plus écrire dans les cellules verroullées (par defaut toutes les cellules sont vérrouillées) à toi de déverrouiller celles qui t'interessent : clic droit / format de cellule / onglet protection / décoches verrouillée.

Essayes et dis moi si ça résous bien ton problème.


A+
 
O

oriop

Guest
Re:protéger la non visibilité des onglets de class

Merci à vous pour vos réponses

Désolé jeromegmc, mais protéger ma feuille ne desactive pas la case à cocher : onglets de classeur dans outils/options/affichage.

Pascal76, je connait bien la commande xlsheethidden, mais le problème qui se pose à moi et que j'effectue des sheets('feuill2').select
qui ne fonctionne pas si la feuille est cachée.

Il serait tres long que je passe a visible puis de nouveau a hidden les feuilles que j'utilise.

J'aimerais donc savoir si il est simplement possible de faire une sorte de enabled = false sur la case à cocher onglets de classeur de outils/options/affichage.


Merci encore.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re:protéger la non visibilité des onglets de class

RE

Déjà es-tu vraiment obligé de faire des select ???

Si oui je ne vois pas en quoi c'est trop long

Il te suffit de créer une rprocédure où tu caches toutes tes feuilles du genre sub CacherFeuilles()

si tu as vraiment besoin de faire un select sur une feuille tu la rends visible puis tu lance ta procédure CacherFeuilles en fin de macro

Bon courage
 
O

oriop

Guest
Re:protéger la non visibilité des onglets de class

RE

encore merci de ta réponse pascal76.

J'aimerais bien pouvoir supprimer mes select car ils rendent mon programme assez lourd à exécuter, mais le problème est que j'utilise c select dans un code comme celui ci :

Public Sub filtrage()
Dim fin As Integer

fin = Sheets('Matrice').Range('a65500').End(xlUp).Row
Sheets('Matrice').Select
Range('I6:H' & fin).SpecialCells(xlCellTypeVisible).EntireRow.Select

Set range_intersect = Application.Intersect(Selection, Range('I:IV'))
If range_intersect Is Nothing Then
MsgBox 'Pas de plage commune entre ' & Selection.Address & ' et ' & Range('I:IV').Address
End If
End Sub

j'ai essaye plusieurs méthodes pour supprimer les .select mais rien ne fonctionne donc si tu as une idée mon problème serait regler de fait.

Merci à tous et surtout à toi Pascal
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 957
Membres
103 990
dernier inscrit
lamiadebz