Super votre tuto, c'est tout à fait ce que je souhaite faire. Je teste demain. Par contre, je n'ai pas trouvé un tuto, qui me permettrait en plus d'nsérer un calendrier sur la page "sommaire" et qui s'actualiserait automatiquement sur les autres feuilles. Je m'explique, je souhaite sélectionner mois/année afin que mes collaborateurs puissent rentrer leurs heures sur leurs feuilles personnelles.
J'ai justement travaillé sur ce genre de chose aujourd'hui ! J'ai créer une BDD pour lister mes ancêtres (je fais ma généalogie) et je voulais tout masquer à l'ouverture du fichier, sauf la page d'accueil. Grâce à une autre de vos vidéos, j'ai trouvé comment faire une mise en plein écran qui masque le ruban, j'ai chercher comment masquer les barres de défilement et les lignes de titres (lignes et colonnes), bref, il ne reste que le contenu de la feuille d'accueil. Dans celle-ci, 4 boutons : 1 pour créer une nouvelle entrée (ou fiche) via un formulaire, 1 pour modifier une fiche par formulaire aussi, 1 pour seulement consulter une fiche (sur formulaire également) et le dernier ouvrant une inputbox pour saisir un code d'accès à la BDD. Tout ce travail juste pour jouer avec les codes VBA et les formulaires, parce que je vis seule avec mon chien, et ce n'est pas lui qui va venir tripatouiller dans mes fichier Excel. 😄 Par contre, si un utilisateur qui connaisse un temps soit peu Excel sait comment faire apparaitre le ruban, ça ne sert pas à grand chose. Je n'ai pas trouvé de code qui masque le ruban durablement. J'ai essayer en enregistrant une macro, mais rien n'apparaît, donc apparemment, il n'y a pas de code pour cette fonction hormis celle du plein écran. C'est un peu dommage.
Le code existe pour masquer les onglets et le ruban d'un classeur Vous pouvez même trouver cela dans les Options Avancées du classeur. Pour moi, il faut faire un code à l'ouverture du classeur qui masque toutes les feuilles sauf la feuille sommaire. sur l'evenement Workbook.open et à la fermeteure du classeur Workbook.close , faire de même Voilà
Oui, le classeur ne s'ouvre que sur cette feuille d'accueil dont tout à disparu par ces commandes : With Active.Window .DisplayWorkbookTabs = False 'pour les onglets .DisplayHeadings = Flase ' pour les en-tête de lignes et de colonnes .DisplayGridlines = False 'pour le quadrillage .DisplayHorizontalScrollBar = False 'pour la barre de défilement horizontale .DisplayVerticalScrollBar = False 'pour la barre de défilement verticale End With Application.DisplayFullScreen = True 'pour le ruban et la barre de formules Ces deux derniers ne fonctionne pas en Active.Window (j'ai essayé), ça affiche une erreur '438' : propriété ou méthode non gérée par cet objet. Et pour réafficher le ruban ainsi que la barre de formule, une simple touche suffit, ça n'est pas "sécurisé". J'ai Excel 2007, la fonction pour masquer le ruban ne se trouve pas dans les options avancées.
bonjour, sa fonctionne très bien !!! toutefois et comme je le pense, il faudrait ajouter dans le code vba une instruction pour que les utilisateurs ne puissent modifier le nom des feuilles ( user 1, user 2 .... ) sinon sa fait une erreur vba
+Learnaccess , le soucis de masquage d'onglets, ce situe au niveau de la navigation à travers les différents onglets, si ces derniers sont masqués, y'a t'il possibilités de naviguer d'une page à l'autre ??? merci à vous pour vos tutos
+Rom lef Oui, même sans les onglets de feuilles, nous pouvons quand même naviguer. Sachez qu'il y a dans les options d'excel là possibilités de les masquer sans passer du code Vba.
+Learnaccess pour que il n'arrive pas a modifier les noms des feuilles c facile voila la procédure et j'espère qu'elle te plaira ...... alors dans le fichier excel allez a fichier après informations et après protéger le classeur dès que vous cliqué sur protéger le classeur vous trouver plusieurs choses alors choisissez protéger la structure du classeur et finalement écrit ton mots passe,,,,,
Bonjour professeur, je vous remercie pour ce tuto, vu que j'ai plusieurs noms de feuilles différents comment remédier à cela : 'On boucle pour mettre toutes les feuilles commençant par User invibles For i = 1 To Sheets.Count - 1 Sheets("User " & i).Visible = False et If MonPassword = "1234567" Then For i = 1 To Sheets.Count Sheets("User " & i).Visible = True je vous remercie davance
Bonjour et merci pour le tuto très précis, par contre quand on met un mot de passe différent de ceux notés dans le code macro , le fichier reste ouvert sur l'onglet sommaire et est accessible. Comment régler ce problème? par avance merci pour votre aide
salam ce que vous venez de faire la c extra jai bien aimé mais ce qui ce sera intéressant si vous pouvez a la place ou en entre le mot de passe les caractère seront remplacer par des étoiles pour mieux sécurisé le mot de passe des regards indésirable alors SVP si tu pouvez nous faire un vidéo dans ce sujet ça sera cool merci
Learnaccess Cela fonctionne bien du coup après quelques modifications. Merci d’avoir pris de votre temps pour me répondre. Bonne journée à vous. A plaisir de regarder vos prochaine vidéo.
merci pour le tuto est ce qu'on peux remplacer le contenue de la inputbox par des "***" pour que le mot de passe ne soit pas visible? si oui, quel serait le code à ajouter
Il faudra faire un autre formulaire qui demandera de taper l'ancien mot de passe et le nouveau. Ensuite ce nouveau mot de passe devra être stocker dans une feuille ou un table
Merci beaucoup pour ce tuto très bien expliqué. Mes feuilles ne s'appellent pas User mais Clients Chevreuils / Clients Hossegor / CA / Data / Marées / Planning Avril / Planning Mai / Planning Juin / Planning Juillet / Planning Août / Planning Septembre J'ai donc entré le code suivant : For i = 1 To Sheets.Count - 1 Sheets("Clients Chevreuils;Clients Hossegor;CA;Data;Marées;Planning Avril;Planning Mai;Planning Juin;Planning Juillet;Planning Août;Planning Septembre" & i).Visible = False
Next i Problème : La ligne Sheets("....").Visible = False apparait en Jaune Est ce à cause des ; entre chaque nom de feuille ? Merci
bonjour ce tuto correspond parfaitement a mes besoins mais malgré plusieurs essais et un suivi scrupuleux de la méthode, la macro ne se lance lorsque j'ouvre le fichier. Sachant que je suis déjà aller dans les options pour activer. Mais aucun changement! Comment faire pour lancer cette macro, Help....
@@Learnaccess merci pour votre réponse mais j'ai refait 2 tentatives.... sans succès! je suis vraiment perdue. Est il possible que je vous transmette le fichier en question afin de contrôler si j'ai omis des infos. Si oui, comment dois je procéder pour vous l'envoyer? Mille merci pour votre aide
Très bon tutoriel! Mais cela ne règle toujours pas le problème de confidentialité posé puisqu'on a toujours la possibilité de faire un clic droit sur l'onglet sommaire et d'afficher toutes les feuilles qu'on veut.
bonjour, super tes tutoriel, je rencontre une petit problème erreur d’exécution '9' 'on faire une boucle permettant de masquer toutes autres feuilles For i = 1 To Sheets.Count - 1 Sheets("synthese;formulaire;Commande;données;facturation douai;Feuil1;Maintenance;Pointage;synthèse pointage;christian" & i).Visible = False Next i sur mon classeur mes feuilles ne s'appelle pas user mais: formulaire /Commande/ données/facturation douai/Feuil1/Maintenance/Pointage/synthèse pointage/christian , je ne sais pas si je dois mettre ; entre chaque feuille je vais faire un test avec user et super merci de vos tuto
Bonjour,Très bon boulot, seulement mes feuilles ne s'affiches pas, j'ai fais exactement comme vous l'avez fait mais, toujours pas.Parcontre à l'ouverture il me demande de saisir le mot de passe.Pourriez vous m'aider?
Salut et merci pour cette vidéo sinon lorsque je fais entrer les codes d'activation une fenetre s'ouvre où on me signale et je cite " erreur de compilation Sub ou fonction non définie et lorsque je clique sur le ok de la fenêtre ouverte on me mets en jaune "Private Sub Workbook_open()" alors dans ce cas de figure comment dois je procéder SVP? Voici le code que j'ai utilisé merci '.......................................................................................... 'Procedure permettant d'acceder à une feuille grace à une identification par un mot de passe '........................................................................................... Private Sub Workbook_Open() 'Declaration des variables Dim i As Integer Dim monpasswrd As Variant 'Gestion des erreurs On Error GoTo 1 'Afficher la feuille SOMMAIRE dès l'ouverture du classeur Worksheets("SOMMAIRE").Activate 'on fait une boucle permettant de masquer toute autre feuille For i = 1 To Sheets.Count - 1 Sheets("USER " & i).Visible = False 'on va recuperer le code ou le mot de passe dans une boite de type inputbox 'monpassword = inputbox("veuillez entrer votre mot de passe pour acceder à votre feuille : "," identification) 'on va realiser les differents test If MonPassword = "1234" Then Sheets("USER1").Visible = True Worksheets("USER1").Select Rang("A1").Select End Sub If MonPassword = "12345" Then Sheet("USER2").Visible = True Worksheets("USER2").Select Rang("A1").Select End Sub If MonPassword = "123456" Then Sheet("USER3").Visible = True Worksheets("USER3").Select Rang("A1").Select End Sub 'ouvrir toutes les feuilles si mon mot de passe est Administrateur If MonPassword = "1234567" Then For i = 1 To Sheets.Count Sheets("USER " & i).Visible = trus Next i 1 End Sub
@@Learnaccess Bonjour, Merci beaucoup pour ce tuto très bien expliqué. Comme Christian Bouchez mes feuilles ne s'appellent pas User mais Clients Chevreuils / Clients Hossegor / CA / Data / Marées / Planning Avril / Planning Mai / Planning Juin / Planning Juillet / Planning Août / Planning Septembre J'ai donc entré le code suivant : For i = 1 To Sheets.Count - 1 Sheets("Clients Chevreuils;Clients Hossegor;CA;Data;Marées;Planning Avril;Planning Mai;Planning Juin;Planning Juillet;Planning Août;Planning Septembre" & i).Visible = False
Next i Problème : La ligne Sheets("....").Visible = False apparait en Jaune Est ce à cause des ; entre chaque nom de feuille ? Merci
@@Learnaccess pourriez-vous me dire ce qui ne va pas ? Private Sub Workbook_Open() 'Déclaration des variables Dim i As Integer Dim MonPassword As Variant 'Afficher la feuille Semaine dès l'ouverture du Classeur Worksheets("Semaine").Activate 'On va faire une boucle permettant de masquer toutes les autres feuilles For i = 1 To Sheets.Count - 1 Sheets("User nom1").Visible = False Sheets("User nom2").Visible = False Sheets("User nom3").Visible = False Sheets("User nom4").Visible = False Sheets("User nom5").Visible = False Sheets("User nom6").Visible = False Sheets("User MDP").Visible = False Next i 'On va récupérer le code ou mot de passe dans une boîte de type InputBox MonPassword = InputBox("Veuillez entrer votre mot de passe pour accéder à votre feuille :", "Identification") 'On va réaliser les différents tests If MonPassword = "hTc6z68E" Then Sheets("User nom1").Visible = xlSheetVeryHidden Worksheets("User nom1").Select Range("B4").Select End If If MonPassword = "8Wn3Rz5f" Then Sheets("User nom2").Visible = xlSheetVeryHidden Worksheets("User nom2").Select Range("B4").Select End If If MonPassword = "5j82AFbj" Then Sheets("User nom3").Visible = xlSheetVeryHidden Worksheets("User nom3").Select Range("B4").Select End If If MonPassword = "Cbk33eS6" Then Sheets("User nom4").Visible = xlSheetVeryHidden Worksheets("User nom4").Select Range("B4").Select End If If MonPassword = "95FbxC9r" Then Sheets("User nom5").Visible = xlSheetVeryHidden Worksheets("User nom5").Select Range("B4").Select End If If MonPassword = "qpJu728X" Then Sheets("User nom6").Visible = xlSheetVeryHidden Worksheets("User nom6").Select Range("B4").Select End If 'ouvrir toutes les feuilles si mot de passe administrateur If MonPassword = "Titiesa123" Then For i = 1 To Sheets.Count Sheets("User nom1").Visible = True Sheets("User nom2").Visible = True Sheets("User nom3").Visible = True Sheets("User nom4").Visible = True Sheets("User nom5").Visible = True Sheets("User nom6").Visible = True Sheets("User MDP").Visible = True Next i End If End Sub
Salut et vraiment merci pour ce programme avec le code, cependant lorsque j' utilise ce code il 'y toujours la même erreur qui survient lors de l’exécution du programme par conséquent pouvez vous SVP revérifier le code pour corriger les éventuelles erreurs existante merci '**************************************************** ' Procédure permettant d'accéder à une feuille ' grâce à une identification par mot de passe '**************************************************** Private Sub Workbook_Open() 'Déclaration des variables Dim i As Integer Dim MonPassword As Variant 'Gestion des erreurs On Error GoTo 1 'On ouvre le classeur sur la feuille Sommaire Worksheets("Sommaire").Activate 'On boucle pour mettre toutes les feuilles commençant par User invibles For i = 1 To Sheets.Count - 1 Sheets("User " & i).Visible = False Next i 'On récupère le code saisie dans une InputBox MonPassword = InputBox("Veuillez entrer votre password pour accéder à votre feuille :" _ , "Identification") 'On réaliser les différents tests de code afin d'afficher le formulaire adéquat If MonPassword = "1234" Then Sheets("User 1").Visible = True Worksheets("User 1").Select Range("A1").Select End If If MonPassword = "12345" Then Sheets("User 2").Visible = True Worksheets("User 2").Select Range("A1").Select End If If MonPassword = "123456" Then Sheets("User 3").Visible = True Worksheets("User 3").Select Range("A1").Select End If If MonPassword = "1234567" Then For i = 1 To Sheets.Count Sheets("User " & i).Visible = True Next i End If 1 End Sub
Bonjour et merci pour le tuto très précis, par contre quand on met un mot de passe différent de ceux notés dans le code macro , le fichier reste ouvert sur l'onglet sommaire et est accessible. Comment régler ce problème? par avance merci pour votre aide
Bonjour la prés. est excellente sauf qu avec le mot de passe superviseur '1234567' le message est affiché en permanence : Erreur d’exécution '9' L indice n appartient pas à la sélection j'ai suivi les manipulations faites : Initialiser puis relancer Excel il affiche effectivement toutes les feuilles mais l'erreur persiste. Merci
Bonjour, la commande pour faire apparaitre toute les feuilles ne fonctionne pas, je reviens à la même erreur que ça vous fait, mais mes feuilles ne s'affiche pas ... pouvez-vous m'aider ?
J'ai enlevé la commande et fait l'essai de tout le reste et ça marche. Ma première feuille s'appelle "Accueil" et j'ai fait les modifications ou il fallait, mais lorsque je réécris la commande pour voir toutes les feuilles ça ne marche toujours pas.
j'ai creer un fichier excel sur la gestion d un stock j aimerais que vous m aidiez a ajouter des codes VBA ( afficher l heure automitiquement / ajouter un compte d acces au fichier protégé)
Bonjour, J'ai fait un tuto qui expique comment afficher une heure qui s'actualise Pour les mots de passe : Vous pouvez sans passer par du code, protéger votre classeur par un mot de passe à son ouverture.
merci pour ce tutoriel, je l'ai suivi à la lettre et j'ai réussi. bravo à vous
j'ai compris loll ça marche de la nouvelle façon que vous m'avez expliquer. Merci beaucoup et Joyeuses Pâques.
Merci pour ce tuto, comme toujours bien expliqué - Merci
Super votre tuto, c'est tout à fait ce que je souhaite faire. Je teste demain. Par contre, je n'ai pas trouvé un tuto, qui me permettrait en plus d'nsérer un calendrier sur la page "sommaire" et qui s'actualiserait automatiquement sur les autres feuilles. Je m'explique, je souhaite sélectionner mois/année afin que mes collaborateurs puissent rentrer leurs heures sur leurs feuilles personnelles.
J'ai justement travaillé sur ce genre de chose aujourd'hui ! J'ai créer une BDD pour lister mes ancêtres (je fais ma généalogie) et je voulais tout masquer à l'ouverture du fichier, sauf la page d'accueil. Grâce à une autre de vos vidéos, j'ai trouvé comment faire une mise en plein écran qui masque le ruban, j'ai chercher comment masquer les barres de défilement et les lignes de titres (lignes et colonnes), bref, il ne reste que le contenu de la feuille d'accueil. Dans celle-ci, 4 boutons : 1 pour créer une nouvelle entrée (ou fiche) via un formulaire, 1 pour modifier une fiche par formulaire aussi, 1 pour seulement consulter une fiche (sur formulaire également) et le dernier ouvrant une inputbox pour saisir un code d'accès à la BDD.
Tout ce travail juste pour jouer avec les codes VBA et les formulaires, parce que je vis seule avec mon chien, et ce n'est pas lui qui va venir tripatouiller dans mes fichier Excel. 😄
Par contre, si un utilisateur qui connaisse un temps soit peu Excel sait comment faire apparaitre le ruban, ça ne sert pas à grand chose. Je n'ai pas trouvé de code qui masque le ruban durablement. J'ai essayer en enregistrant une macro, mais rien n'apparaît, donc apparemment, il n'y a pas de code pour cette fonction hormis celle du plein écran. C'est un peu dommage.
Le code existe pour masquer les onglets et le ruban d'un classeur
Vous pouvez même trouver cela dans les Options Avancées du classeur.
Pour moi, il faut faire un code à l'ouverture du classeur qui masque toutes les feuilles sauf la feuille sommaire. sur l'evenement Workbook.open
et à la fermeteure du classeur Workbook.close , faire de même
Voilà
Oui, le classeur ne s'ouvre que sur cette feuille d'accueil dont tout à disparu par ces commandes :
With Active.Window
.DisplayWorkbookTabs = False 'pour les onglets
.DisplayHeadings = Flase ' pour les en-tête de lignes et de colonnes
.DisplayGridlines = False 'pour le quadrillage
.DisplayHorizontalScrollBar = False 'pour la barre de défilement horizontale
.DisplayVerticalScrollBar = False 'pour la barre de défilement verticale
End With
Application.DisplayFullScreen = True 'pour le ruban et la barre de formules
Ces deux derniers ne fonctionne pas en Active.Window (j'ai essayé), ça affiche une erreur '438' : propriété ou méthode non gérée par cet objet. Et pour réafficher le ruban ainsi que la barre de formule, une simple touche suffit, ça n'est pas "sécurisé".
J'ai Excel 2007, la fonction pour masquer le ruban ne se trouve pas dans les options avancées.
bonjour, sa fonctionne très bien !!! toutefois et comme je le pense, il faudrait ajouter dans le code vba une instruction pour que les utilisateurs ne puissent modifier le nom des feuilles ( user 1, user 2 .... ) sinon sa fait une erreur vba
Effectivement.
Sinon, rajouter une ligne de code qui va masquer les onglets des feuilles
Merci
+Learnaccess , le soucis de masquage d'onglets, ce situe au niveau de la navigation à travers les différents onglets, si ces derniers sont masqués, y'a t'il possibilités de naviguer d'une page à l'autre ??? merci à vous pour vos tutos
+Rom lef
Oui, même sans les onglets de feuilles, nous pouvons quand même naviguer.
Sachez qu'il y a dans les options d'excel là possibilités de les masquer sans passer du code Vba.
faudra que je regarde à ça de plus près, merci beaucoup
+Learnaccess pour que il n'arrive pas a modifier les noms des feuilles c facile voila la procédure et j'espère qu'elle te plaira ...... alors dans le fichier excel allez a fichier après informations et après protéger le classeur dès que vous cliqué sur protéger le classeur vous trouver plusieurs choses alors choisissez protéger la structure du classeur et finalement écrit ton mots passe,,,,,
Bonjour, merci pour cette vidéo. Mes onglets portent des noms différents. quelle est la procédure pour les masquer ?
NomFeuille.Visible = false
bonjour merci pour cette video tres bon thème
Merci, très bien réalisé, est-il possible de changer les feuilles par le nom de l'utilisateur.....merci
super merci (Michel)
Bonjour et encore une fois super travail.
En revanche, lors de la msgbox... comment peut on faire pour cacher le mdp style ***** ?
Merci
IL faut allez dans la propriété de la textbox et choisir mot de passe
C'est Parfait !! Merci pour ce tuto, mais je ne trouve pas le code, vous avez dit dans le video que vous allez le mettre dans la description
Bonjour professeur, je vous remercie pour ce tuto, vu que j'ai plusieurs noms de feuilles différents comment remédier à cela :
'On boucle pour mettre toutes les feuilles commençant par User invibles
For i = 1 To Sheets.Count - 1
Sheets("User " & i).Visible = False
et
If MonPassword = "1234567" Then
For i = 1 To Sheets.Count
Sheets("User " & i).Visible = True
je vous remercie davance
Bonjour et merci pour le tuto très précis, par contre quand on met un mot de passe différent de ceux notés dans le code macro , le fichier reste ouvert sur l'onglet sommaire et est accessible.
Comment régler ce problème?
par avance merci pour votre aide
salam
ce que vous venez de faire la c extra jai bien aimé mais ce qui ce sera intéressant si vous pouvez a la place ou en entre le mot de passe les caractère seront remplacer par des étoiles pour mieux sécurisé le mot de passe des regards indésirable alors SVP si tu pouvez nous faire un vidéo dans ce sujet ça sera cool
merci
dans passwordchar remplace le vide par etoile
Bonjour, Merci pour ce Tuto toujours très utile. Peut-on à partir d’un mot de passe afficher plusieurs feuilles? Merci d’avance pour votre aide.
Vincent Vincente
Oui si vous mettez le même mot de passe
Learnaccess Merci. J’ai un petit souci avec le mot de passe « 1234567 », cela me surligne le code en jaune dans le VBA.. une idée?
@@vincentm4460
Vous avez définit le type du mot de passe en quoi (Long, integer,...)
Integer est limité à 32667
Learnaccess Cela fonctionne bien du coup après quelques modifications. Merci d’avoir pris de votre temps pour me répondre. Bonne journée à vous. A plaisir de regarder vos prochaine vidéo.
merci pour le tuto
est ce qu'on peux remplacer le contenue de la inputbox par des "***" pour que le mot de passe ne soit pas visible? si oui, quel serait le code à ajouter
sur un inputbox je ne pense pas que cela soit possible mais sur une Textbox oui
bonsoir Merci vraiment pour la vidéo eh !!!! comment créer un formulaire au cas au on veut changé le mots de passe ??
Il faudra faire un autre formulaire qui demandera de taper l'ancien mot de passe et le nouveau.
Ensuite ce nouveau mot de passe devra être stocker dans une feuille ou un table
Merci beaucoup pour ce tuto très bien expliqué.
Mes feuilles ne s'appellent pas User mais Clients Chevreuils / Clients Hossegor / CA / Data / Marées / Planning Avril / Planning Mai / Planning Juin / Planning Juillet / Planning Août / Planning Septembre
J'ai donc entré le code suivant :
For i = 1 To Sheets.Count - 1
Sheets("Clients Chevreuils;Clients Hossegor;CA;Data;Marées;Planning Avril;Planning Mai;Planning Juin;Planning Juillet;Planning Août;Planning Septembre" & i).Visible = False
Next i
Problème : La ligne Sheets("....").Visible = False apparait en Jaune
Est ce à cause des ; entre chaque nom de feuille ?
Merci
Vous devez le faire feuille par feuille
Votre code ne fonctionnera pas tel qu’il est
@@Learnaccess Effectivement, ça fonctionne. Merci beaucoup !
bonjour ce tuto correspond parfaitement a mes besoins mais malgré plusieurs essais et un suivi scrupuleux de la méthode, la macro ne se lance lorsque j'ouvre le fichier. Sachant que je suis déjà aller dans les options pour activer. Mais aucun changement! Comment faire pour lancer cette macro, Help....
Vérifiez le code mais cela doit fonctionner
@@Learnaccess merci pour votre réponse mais j'ai refait 2 tentatives.... sans succès! je suis vraiment perdue. Est il possible que je vous transmette le fichier en question afin de contrôler si j'ai omis des infos. Si oui, comment dois je procéder pour vous l'envoyer? Mille merci pour votre aide
@@sanyferreira5756 mon email : jeanpaul.bonnetto@gmail.com
c'est très bien fait :))
Bonjour leanracces je veux de l'aide pour faire la même chose avec vba acces,? cest-a-dire chaque mot de passe pour un formulaire acces donné.
Bonjour,
C'est possible, je l'ai déjà fait.
c'est le même principe mais à partir d'un formulaire d'identification.
daccord
Très bon tutoriel!
Mais cela ne règle toujours pas le problème de confidentialité posé puisqu'on a toujours la possibilité de faire un clic droit sur l'onglet sommaire et d'afficher toutes les feuilles qu'on veut.
hello Iam au lieu de
Sheets("User 1").Visible = true
tape
Sheets("User 1").Visible = xlVeryHidden
Romuald
Merci Romuald Correze . ça marche
Merci
Hay Romuald
J'ai mis "xlVeryHidden" mais vba me sort une erreur d’exécution. Solution ?
M.B N essaie avec xlsheetveryhidden
bonjour, super tes tutoriel, je rencontre une petit problème erreur d’exécution '9' 'on faire une boucle permettant de masquer toutes autres feuilles
For i = 1 To Sheets.Count - 1
Sheets("synthese;formulaire;Commande;données;facturation douai;Feuil1;Maintenance;Pointage;synthèse pointage;christian" & i).Visible = False
Next i
sur mon classeur mes feuilles ne s'appelle pas user mais:
formulaire /Commande/ données/facturation douai/Feuil1/Maintenance/Pointage/synthèse pointage/christian , je ne sais pas si je dois mettre ; entre chaque feuille
je vais faire un test avec user
et super merci de vos tuto
Merci
Bonjour,Très bon boulot, seulement mes feuilles ne s'affiches pas, j'ai fais exactement comme vous l'avez fait mais, toujours pas.Parcontre à l'ouverture il me demande de saisir le mot de passe.Pourriez vous m'aider?
Salut et merci pour cette vidéo sinon lorsque je fais entrer les codes d'activation une fenetre s'ouvre où on me signale et je cite " erreur de compilation Sub ou fonction non définie et lorsque je clique sur le ok de la fenêtre ouverte on me mets en jaune "Private Sub Workbook_open()"
alors dans ce cas de figure comment dois je procéder SVP?
Voici le code que j'ai utilisé merci
'..........................................................................................
'Procedure permettant d'acceder à une feuille grace à une identification par un mot de passe
'...........................................................................................
Private Sub Workbook_Open()
'Declaration des variables
Dim i As Integer
Dim monpasswrd As Variant
'Gestion des erreurs On Error GoTo 1
'Afficher la feuille SOMMAIRE dès l'ouverture du classeur
Worksheets("SOMMAIRE").Activate
'on fait une boucle permettant de masquer toute autre feuille
For i = 1 To Sheets.Count - 1
Sheets("USER " & i).Visible = False
'on va recuperer le code ou le mot de passe dans une boite de type inputbox
'monpassword = inputbox("veuillez entrer votre mot de passe pour acceder à votre feuille : "," identification)
'on va realiser les differents test
If MonPassword = "1234" Then
Sheets("USER1").Visible = True
Worksheets("USER1").Select
Rang("A1").Select
End Sub
If MonPassword = "12345" Then
Sheet("USER2").Visible = True
Worksheets("USER2").Select
Rang("A1").Select
End Sub
If MonPassword = "123456" Then
Sheet("USER3").Visible = True
Worksheets("USER3").Select
Rang("A1").Select
End Sub
'ouvrir toutes les feuilles si mon mot de passe est Administrateur
If MonPassword = "1234567" Then
For i = 1 To Sheets.Count
Sheets("USER " & i).Visible = trus
Next i
1
End Sub
Bonjour,
Cela marche, je viens de le faire sur mon fichier source et cela marche.
Le code est correct.
@@Learnaccess
Bonjour,
Merci beaucoup pour ce tuto très bien expliqué.
Comme Christian Bouchez mes feuilles ne s'appellent pas User mais Clients Chevreuils / Clients Hossegor / CA / Data / Marées / Planning Avril / Planning Mai / Planning Juin / Planning Juillet / Planning Août / Planning Septembre
J'ai donc entré le code suivant :
For i = 1 To Sheets.Count - 1
Sheets("Clients Chevreuils;Clients Hossegor;CA;Data;Marées;Planning Avril;Planning Mai;Planning Juin;Planning Juillet;Planning Août;Planning Septembre" & i).Visible = False
Next i
Problème : La ligne Sheets("....").Visible = False apparait en Jaune
Est ce à cause des ; entre chaque nom de feuille ?
Merci
perfect
comment faire apparaitre un message d'erreur (msgbox) si le Password saisie est différent de l'un des quatre codes enregistrés ?
Merci
Il faudrait rajouter un Else sur votre condition IF afin d'y afficher la msgbox d'erreur de mot de passe
Bon travail mais effectivement il suffit de cliquer sur annulé et après on peut afficher tous les onglets.
Il y a t il une solution
il faut améliorer le code ou bien passer par un formulaire
Bonjour, je suis dans le même cas que certains, je ne parviens pas à ce que le pop up d'identification s'affiche. Help ;)
la ligne Sheets(Nomfeuille).Visible=False apparaît de plus en jaune
1. vous avez bien activer les macros au démarrage
2. vérifier que le code soit dans le thisworkbook
@@Learnaccess Les macros sont bien activées. De quel code parle-t-on ? Dans le Thisworkbook, j'ai recopié le tuto ;)
ah c'est mon premier VBA, alors je ne comprends pas encore bien le langage ;)
@@Learnaccess pourriez-vous me dire ce qui ne va pas ?
Private Sub Workbook_Open()
'Déclaration des variables
Dim i As Integer
Dim MonPassword As Variant
'Afficher la feuille Semaine dès l'ouverture du Classeur
Worksheets("Semaine").Activate
'On va faire une boucle permettant de masquer toutes les autres feuilles
For i = 1 To Sheets.Count - 1
Sheets("User nom1").Visible = False
Sheets("User nom2").Visible = False
Sheets("User nom3").Visible = False
Sheets("User nom4").Visible = False
Sheets("User nom5").Visible = False
Sheets("User nom6").Visible = False
Sheets("User MDP").Visible = False
Next i
'On va récupérer le code ou mot de passe dans une boîte de type InputBox
MonPassword = InputBox("Veuillez entrer votre mot de passe pour accéder à votre feuille :", "Identification")
'On va réaliser les différents tests
If MonPassword = "hTc6z68E" Then
Sheets("User nom1").Visible = xlSheetVeryHidden
Worksheets("User nom1").Select
Range("B4").Select
End If
If MonPassword = "8Wn3Rz5f" Then
Sheets("User nom2").Visible = xlSheetVeryHidden
Worksheets("User nom2").Select
Range("B4").Select
End If
If MonPassword = "5j82AFbj" Then
Sheets("User nom3").Visible = xlSheetVeryHidden
Worksheets("User nom3").Select
Range("B4").Select
End If
If MonPassword = "Cbk33eS6" Then
Sheets("User nom4").Visible = xlSheetVeryHidden
Worksheets("User nom4").Select
Range("B4").Select
End If
If MonPassword = "95FbxC9r" Then
Sheets("User nom5").Visible = xlSheetVeryHidden
Worksheets("User nom5").Select
Range("B4").Select
End If
If MonPassword = "qpJu728X" Then
Sheets("User nom6").Visible = xlSheetVeryHidden
Worksheets("User nom6").Select
Range("B4").Select
End If
'ouvrir toutes les feuilles si mot de passe administrateur
If MonPassword = "Titiesa123" Then
For i = 1 To Sheets.Count
Sheets("User nom1").Visible = True
Sheets("User nom2").Visible = True
Sheets("User nom3").Visible = True
Sheets("User nom4").Visible = True
Sheets("User nom5").Visible = True
Sheets("User nom6").Visible = True
Sheets("User MDP").Visible = True
Next i
End If
End Sub
Salut et vraiment merci pour ce programme avec le code, cependant lorsque j' utilise ce code il 'y toujours la même erreur qui survient lors de l’exécution du programme par conséquent pouvez vous SVP revérifier le code pour corriger les éventuelles erreurs existante merci
'****************************************************
' Procédure permettant d'accéder à une feuille ' grâce à une identification par mot de passe '****************************************************
Private Sub Workbook_Open()
'Déclaration des variables
Dim i As Integer
Dim MonPassword As Variant
'Gestion des erreurs On Error GoTo 1
'On ouvre le classeur sur la feuille Sommaire Worksheets("Sommaire").Activate
'On boucle pour mettre toutes les feuilles commençant par User invibles
For i = 1 To Sheets.Count - 1
Sheets("User " & i).Visible = False
Next i
'On récupère le code saisie dans une InputBox
MonPassword = InputBox("Veuillez entrer votre password pour accéder à votre feuille :" _ , "Identification")
'On réaliser les différents tests de code afin d'afficher le formulaire adéquat
If MonPassword = "1234" Then
Sheets("User 1").Visible = True
Worksheets("User 1").Select
Range("A1").Select
End If
If MonPassword = "12345" Then
Sheets("User 2").Visible = True
Worksheets("User 2").Select
Range("A1").Select
End If
If MonPassword = "123456" Then
Sheets("User 3").Visible = True
Worksheets("User 3").Select
Range("A1").Select
End If
If MonPassword = "1234567" Then
For i = 1 To Sheets.Count
Sheets("User " & i).Visible = True
Next i
End If
1
End Sub
Le code est dans la description de la vidéo...
Bonjour et merci pour le tuto très précis, par contre quand on met un mot de passe différent de ceux notés dans le code macro , le fichier reste ouvert sur l'onglet sommaire et est accessible.
Comment régler ce problème?
par avance merci pour votre aide
@@marie-claudeboucher4976 Faire une condition avec un IF afin de tester le MDP
UN tuto as été fait sur le sujet
Bonjour
la prés. est excellente sauf qu avec le mot de passe superviseur '1234567' le message est affiché en permanence :
Erreur d’exécution '9'
L indice n appartient pas à la sélection
j'ai suivi les manipulations faites : Initialiser puis relancer Excel il affiche effectivement toutes les feuilles mais l'erreur persiste.
Merci
Vérifier la syntaxe du code et les noms des objets
Bonjour,
la commande pour faire apparaitre toute les feuilles ne fonctionne pas, je reviens à la même erreur que ça vous fait, mais mes feuilles ne s'affiche pas ... pouvez-vous m'aider ?
Bonjour Guylaine,
Vérifier les intitulés de vos feuilles ?
NOrmalement cela doit marcher.
J'ai enlevé la commande et fait l'essai de tout le reste et ça marche. Ma première feuille s'appelle "Accueil" et j'ai fait les modifications ou il fallait, mais lorsque je réécris la commande pour voir toutes les feuilles ça ne marche toujours pas.
Guylaine Roy
Dans ce cas utiliser les noms des feuilles pour les afficher sans passer pas la boucle for
Guylaine Roy
Dans ce cas utiliser les noms des feuilles pour les afficher sans passer pas la boucle for
Guylaine Roy
Dans ce cas utiliser les noms des feuilles pour les afficher sans passer pas la boucle for
j'ai besoin d"aide en VBA
BOnjour,
Si cela reste dans me compétences je peux vous aider.
Dite moi ce que vous désirez faire.
j'ai creer un fichier excel sur la gestion d un stock j aimerais que vous m aidiez a ajouter des codes VBA ( afficher l heure automitiquement / ajouter un compte d acces au fichier protégé)
Bonjour,
J'ai fait un tuto qui expique comment afficher une heure qui s'actualise
Pour les mots de passe : Vous pouvez sans passer par du code, protéger votre classeur par un mot de passe à son ouverture.
comment masquer un mot de passe dans une macro ? que le mot de passe ne soit pas visible. ex: ****
Dans les propriétés du code vba
Il faut masquer la feuille du codage