Verrouillez boites de dialogue dans onglet classeurs excel
RésoluLe Pingou Messages postés 12275 Date d'inscription Statut Contributeur Dernière intervention -
Bon jour,
SVPL, possible de verrouillez l’accès au certain boites de dialogues dans les anglets d'un fichier excel ? puisque lorsque le déverrouillage automatique quand je clique sur la plage de la liste déroulante il serai possible d’accès à onglet données puis soit annuler le filtre soit modifier la formule dans la boite de dialogue " validation des données" . je veux pas donner la main au service utilisateur de mon fichier à peut être procéder quelque modifications dans mes formules
17 réponses
-
Bonjour,
Une solution est de verrouiller les cellules qui ne doivent pas être modifier et déverrouiller toutes celles qui sont accessible par l’utilisateur et vous protéger la feuille avec un mot de passe.
-
c'est pas le cas
puisque j'ai utiliser des codes vba c'est l'option : saisie dans la liste déroulante avec la recherche par la première lettre, cette option ne marche pas que avec un code vba où la feuille serai déprotégée, alors mon code vba c'est de déprotéger la feuille quand je sélectionner la liste déroulante, et dès que sort de la plage de la liste déroulante, la feuille sera protégée automatiquement, je sais pas si je peut joindre ici mon fichier excel ou non
-
Bonjour,
Vous n'aviez pas précisé que vous travaillez avec vba, dans se cas vous devez introduire une ligne d'instruction dans votre code pour déverrouiller la feuille et faire le travail et en suite verrouiller à nouveau la feuille.
Sheets("Feuil1").Unprotect "password" Sheets("Feuil1").Protect "password"Note: pour joindre le fichier le faire sur https://www.cjoint.com/ ensuite poster le lien.
-
https://www.cjoint.com/c/LHgswJnkyGj
c'es le lien, alors je veux quand je sélectionner une cellule dans la liste déroulante colonne C , et quand la feuille déprotéger automatiquement pour utiliser la sais par la première lettre, ici je veux en même temps que onglet: Données /validation des données et Données/Filtre restant protégés
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonsoir,
Merci du retour.
Je regarderai le tout demain.
-
-
Bonjour,
Est-ce bien dans la feuille [JOURNAL 01-2022] que vous voulez protéger les formules qui se trouvent dans la ligne (21) intitulé [Total] … ?
Au passage j’ai modifié vos codes pour le mot de passe, j’ai inséré une constante LeMDP qui reçoit la valeur et j’utilise le nom de la constante dans les codes. En cas de modification du mot de passe vous devez le modifier dans la constante (une seule fois…).
Le lien : https://www.cjoint.com/c/LHhnWVV2yYn
-
Bonjour
ma question été bien déterminée
"alors je veux quand je sélectionner une cellule dans la liste déroulante colonne C , et quand la feuille déprotéger automatiquement pour utiliser la sais par la première lettre, ici je veux en même temps que onglet: Données /validation des données et Données/Filtre restant protégés"
SVPL cliquer sur n"import cellule dans la liste déroulante dans la colonne C tu va constater que la feuille sera déprotéger automatiquement, alors ici rester sur la même liste est allez au menue : Données, tu constate que vous pouvez modifier le filtre, et aussi le boite de dialogue : validation des données, alors je veux que ces deux options restant protégés au même temps quand je saisie dans cette liste dans la colonne C, plus que ça rien a modifier ,
Merci
-
Bonjour,
ma question été bien déterminée
Eh non car il manque le principal, sur quelle feuille...!
En plus vous ne me mentionnez rien sur le fichier mis à votre disposition, c'est regrettable !
Question de qui est le code VBA ?
-
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Range("LISTEZOOM"), Target) Is Nothing And Target.Count = 1 Then ActiveWindow.Zoom = 160 ActiveSheet.Unprotect "18163515" Else ActiveWindow.Zoom = 100 ActiveSheet.Protect "18163515", AllowFiltering:=True End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim lig As Integer Dim plageFRS As Range If Target.Count > 1 Then Exit Sub If Target.Value = vbNullString Then Exit Sub On Error Resume Next ActiveWindow.Zoom = 100 If Not Intersect(Target, ListObjects("Tableau4").ListColumns(3).DataBodyRange) Is Nothing Then If Err.Number > 0 Then Exit Sub Set plageFRS = Sheets("Liste FRS").ListObjects("Tableau1").ListColumns(1).DataBodyRange lig = plageFRS.Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole).Row If lig = 0 Then MsgBox "Attention: Le fournisseur n'existe pas dans la liste, veuillez le saisie dans la liste de la Feuille Liste FRS !": Target.ClearContents End If End SubVoilà le code la feuille "JOURNAL 01-2022" dans la liste déroulante de la colonne "C"
cliquer sur n"import cellule dans la liste déroulante dans la colonne C tu va constater que la feuille sera déprotéger automatiquement, alors ici rester sur la même liste est allez au menue : Données, tu constate que vous pouvez modifier le filtre, et aussi le boite de dialogue : validation des données, alors je veux que ces deux options restant protégés au même temps quand je saisie dans cette liste dans la colonne C, plus que ça rien a modifier ,
-
Bonjour,
Ce n'est pas la réponse : Question de qui est le code VBA ?
Je vous remet le fichier à disposition une deuxième fois : https://www.cjoint.com/c/LHijqaGJVMn
-
waaaw, c'est une bonne aidee, alors dans la feuille "JOURNAL 01-2022" le Ruban au dessus est complètement masqué
Alors le code c'est bien le suivant ?
Private Sub Worksheet_Activate() Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" End Sub Private Sub Worksheet_Deactivate() Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" End Suble deuxième c'est bien Deactivate ? puisque quand j'ai ajouter juste "S" dans le mots Deactivate = Desactivate, alors les Rubans de tous les feuille sont masqués
-
Bonjour,
A vous de voir se qui se passe lorsque l'on modifie un nom de macro sans en connaitre les effets.... c'est comme l'ensemble de vos réponses aux questions !
-
c'été juste pour confirmer que ce n'est pas une erreur de frappe.
Ok Merci pour tout
avant de cloture se sujet, SVPL, cette macro de masquer la barre des rubans , Pouvez-vous la programmer pour qu'il ne s'exécute que lors de la saisi dans l'espace de la liste déroulante "Fournisseur" feuille "JOURNAL 01-2022" colonne "C" ?
je veux dire quand je clique en dehors de cette liste le ruban sera afficher automatiquement ?
-
Bonjour,
En résumé, dès que vous êtes sur une autre colonne que la [C] alors tout est permis , donc cela ne sert à rien.
Note: je ne sais toujours pas qui a réaliser l'ensemble des macros!
-
En résumé, dès que vous êtes sur une autre colonne que la [C] alors tout est permis , donc cela ne sert à rien.
Monsieur Le Pingou, dans le fichier que vous m'avez envoyé, quand je serai dans une autre colonne hors que la colonne (C) le Ruban reste toujours masqué
Note: je ne sais toujours pas qui a réaliser l'ensemble des macros!
c'est été a l'aide d'un autre fourme avant que je découvre ce fourme
le problème ce n'est pas dans l'ensemble des mes macros, j'ai essayer votre code dans une feuille d'un nouveau classeur vide alors le ruban est être masqué , je veux savoir si possible d'activer ce code juste a la sélection d'un colonne
Merci
-
Bonjour,
Alors vous supprimer les macros et vous insérer les 2 lignes de code à l'endroit souhaité selon ce vous souhaitez dans les 2 macros événementielles
Worksheet_SelectionChange et Worksheet_ChangeNe sachant pas se que vous faites comme contrôle lors de l'entrée des données, je ne suis pas à même de résoudre a demande.