Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Bonjour à tous j'aimerais savoir si il est possible que tous les onglets à l'ouverture d'un classeur soit masqués et qu'un USF s'ouvre et demande un code pour pouvoir afficher le 1 er onglet.
Sub MasquerOnglets()
ActiveWindow.DisplayWorkbookTabs = False
End Sub
Pour les faire réapparaître :
Code:
Sub AfficherOnglets()
ActiveWindow.DisplayWorkbookTabs = True
End Sub
Evidement, les onglets seront masqué mais :
-> le fichier s'ouvrira sur un onglet, donc l'utilisateur en verra au moins un!
-> l'utilisateur (s'il connaît la manipulation) pourra faire réapparaitre les onglets très facilement (sans rentrer dans le code VBA, ni le modifier) : ----"outils" / "options" / onglet "affichage" / cocher "onglets de classeurs"
Florian53 à dit:
et qu'un USF s'ouvre et demande un code pour pouvoir afficher le 1 er onglet.
Oui, mais comme pour ta première question, il est simple pour une personne averti de contourner cela!
Maintenant faut savoir si maintenant que tu sais cela, tu veux toujours le code VBA permettant de faire cela? Si oui, le voici :
Code:
Sub AfficherLesOnglets()
Dim MotDePasse As String
MotDePasse = "toto"
MotDePasse = InputBox("Veuillez saisir le mot de passe", "Affichage de tous les onglets")
If MotDePasse <> "toto" Then
MsgBox "MDP erroné, vous n'êtes pas habilité à voir les onglets"
Exit Sub
Else: ActiveWindow.DisplayWorkbookTabs = True
End If
End Sub
Bonne fin de soirée
Edition : excuse, j'ai répondu trop vite! Ma solution te convient??? Car je n'ai pas utilisé d'USF (UserForm)!
Je n'ai pas la réponse, mais la question m'intéresse.
Ce que je sais, c'est que je n'ai jamais pu masquer toutes les feuilles d'un classeur : il semble que, par construction, un classeur doit toujours posséder au moins une feuille visible.
J'attends la suite de la discussion avec intérêt...
ROGER2327 _
Ajout : ...et je n'ai pas eu à attendre longtemps ! Merci, Excel-lent.
- Les feuilles sauf la feuille "Accueil" sont masquées définitivement (xlSheetVeryHidden) à la fermeture du fichier. (procédure BeforeClose dans le module de code du Thisworkbook).
- A l'ouverture du fichier sur le feuille "Accueil", un USF s'ouvre et demande un mot de passe. Si le passe est mauvais une MsgBox signale que le fichier va se fermer. (L'application Excel reste ouverte, seul le fichier se ferme pour éviter de fermer intempestivement d'autres fichiers excel).
- Si le passe est correcte les feuilles s'affichent et l'usf se ferme.
- Le code VBA (le projet) est protégé par un mot de passe.
- Le mot de passe du USF et du projet VBA est : passe
Malgrès ceci un petit malin arrivera toujours à contourner les protections.
Bonsoir Florian53, Excel-lent, ROGER2327, bqtr, le Forum,
Sinon, un exemple de solution pour masquer toutes les feuilles d'un classeur : Sélection feuille par userform (voir le fichier que j'avais joint à mon post du 07/09/2005, 20h04)
Exemple, qui devrait être adaptable à la situation...
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.