Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autorisations d'écriture sur plages de cellules.

  • Initiateur de la discussion Initiateur de la discussion RaceX
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

RaceX

Guest
Bonjour à tout le forum,

Cette question a déjà du être posée auparavant mais mes recherches ont été infructueuses.

Donc voilà je crée actuellement un listing de pièces pouvant être accessibles par 2 groupes de personnes distinctes (le bureau d'étude, et la production). Chaque groupe doit avoir un accès en écriture à une plage de colonnes mais ne peus pas modifier la plage de colonnes de l'autre groupe, seulement en lire le contenu.

Je pense que cela doit être faisable en VBA mais je suis encore trop novice réaliser cela tout seul. Merci aux experts de m'apporter leur aide.
 
Dernière modification par un modérateur:
Re : Autorisations d'écriture sur plages de cellules.

bonjour,

pour pouvoir faire une différence par rapport à un utilisateur, il faudrait au préalable que tu nous dises comment tu differencie ces deux groupes d'utilisateur.
VBA peut ensuite protéger tout ce que tu veux, mais il faut au départ cette info de ta part ...
 
Re : Autorisations d'écriture sur plages de cellules.

Bonjour Mutzik,

j'avais pensé à différencier ces 2 groupes d'utilisateurs par un mot de passe de conection, chaque groupe ayant leur propre mot de passe. Je joins le fichier sur lequel je travailles en ce moment. J'ai mis une plage de cellule en rouge pour faire apparaitre une zone dédié au groupe "Production", zone que je créerai par la suite si la question de sécurité peut etre résolu.

Ce lien n'existe plus

Merci pour votre aide.
 
Re : Autorisations d'écriture sur plages de cellules.

Re,

Bon j'ai pas mal avancé sur cette macro. j'ai utilisé l'assistant macro pour obtenir certaine parties de code. Mais maintenant je me trouve fasse à un drole de probleme. J'ai fait un copier coller d'une macro automatique et maintenant une ligne du code ne marche plus correctement.

En ouvrant le fichier ci-dessous, vous obtiendrez une userform. Entrer le mot "be" ou "prod" afin de déclencher l'erreur.

Ce lien n'existe plus

Merci de votre aide.
 
Re : Autorisations d'écriture sur plages de cellules.

Bonjour RaceX, mutzik,

J'ai modifié ton code comme ceci :

Code:
Private Sub OK_Click()

If Controls("Login") = "" Then
    MsgBox "Vous devez ABSOLUMENT indiquer votre login !", vbExclamation, _
    "ERREUR ... Login SVP !"
    Controls("login").SetFocus
    Exit Sub
End If

If Identification.Login = "be" Then
    ActiveSheet.Unprotect
    With Range("X5:AJ5000")
      .Locked = True
      .FormulaHidden = True
    End With
    Range("A5:W5000").Locked = False
    
        ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
        False, AllowFormattingCells:=True, AllowInsertingRows:=True, _
        AllowInsertingHyperlinks:=True, AllowDeletingRows:=True, AllowSorting:= _
        True, AllowFiltering:=True, AllowUsingPivotTables:=True
                  
        Range("A5").Select
        Unload Identification

ElseIf Identification.Login = "prod" Then
    ActiveSheet.Unprotect
    With Range("A5:W5000")
      .Locked = True
      .FormulaHidden = True
    End With
    Range("X5:AJ5000").Locked = False
    
        ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
        False, AllowFormattingCells:=True, AllowInsertingRows:=True, _
        AllowInsertingHyperlinks:=True, AllowDeletingRows:=True, AllowSorting:= _
        True, AllowFiltering:=True, AllowUsingPivotTables:=True
        
        Range("X5").Select
        Unload Identification

Else
    MsgBox "Vous devez ABSOLUMENT indiquer votre login !", vbExclamation, _
    "ERREUR ... Login SVP !"
    Controls("login").SetFocus
    Exit Sub
End If

End Sub

Ca doit correspondre à ce que tu veux.

A+
 
Re : Autorisations d'écriture sur plages de cellules.

Bonjour le forum,

Merci bqtr, c'était bien un problème de vérouillage de feuille. Dernière chose, comment faire pour créer un événement si l'utilisateur tente de fermer la fenetre du userform, par exemple fermer le classeur.

Merci et bonne journée.
 
Re : Autorisations d'écriture sur plages de cellules.

bonjour
Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
aplication.close
End Sub
voila sa dervrait fermer excel quand tu ferme ton user form
en théorie ^^
 
Re : Autorisations d'écriture sur plages de cellules.

Bonjour RaceX,

Je te propose ceci :

Supprime le bouton Annuler, il ne sert à rien, ensuite rajoute ce code (tiré de l'aide VBA d'Excel) dans le module du Userform.

Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    ' Empêche l'utilisateur de fermer l'USF avec le bouton, (croix blanche sur fond rouge)
    ' et modifie le nom du userform
    If CloseMode <> 1 Then Cancel = 1
    Identification.Caption = "Opération impossible : identifiez-vous !"
End Sub

Dans tout les cas l'utilisateur devra s'identifier, sinon l'USF sera toujours affiché.


Bonne journée

Bonjour Toine
 
Dernière édition:
Re : Autorisations d'écriture sur plages de cellules.

Bonjour à tous les deux,

bqtr, ton code marche mais le problème est si un utilisateur autre que prod et be ouvre le classeur et ne connait pas le mot de passe il lui est alors impossible de sortir du programme lol.

Toine, ton code m'intéresse mais j'obtiens un message d'erreur "Objet Requis" pour la ligne "application.close".



Edit: il manquait un "p" à "application". mais maintenant j'ai "propriété ou méthode non géré par cet objet".
 
Dernière modification par un modérateur:
Re : Autorisations d'écriture sur plages de cellules.

LOL oui je viens de trouver ça aussi. c'est bien quit la bonne syntaxe 😀 .

Merci beaucoup. le prog marche à merveille maintenant.
 
Re : Autorisations d'écriture sur plages de cellules.

Oups nouveau problème 😱

maintenant même lorsque je donne je donne le bon mot de passe et appuies sur OK le programme ce ferme. En fait l'instruction se lance sur tout mes boutons et non sur la croix. 😕
 
Re : Autorisations d'écriture sur plages de cellules.

esayye sa
Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
        If CloseMode <> 1 Then 
        application.quit
        end if 
End Sub
te garanti rien c'est une test lol
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

J
Réponses
9
Affichages
3 K
joaoratao
J
R
Réponses
5
Affichages
2 K
R
V
Réponses
2
Affichages
1 K
Val119
V
Réponses
6
Affichages
655
A
Réponses
11
Affichages
2 K
amateur_will
A
D
Réponses
2
Affichages
2 K
D
A
Réponses
1
Affichages
668
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…