Bloquer ligne suivant texte cellule utilisateur multiples
Bonjour
pour un classeur destiné à des utilisateurs multiples en mode partagé
classeur protégé par mot de passe Pw
sur la feuille A1 :
les colonnes Fà X sont accessibles par un utilisateur 01 par motde passe test 01
les colonnes Y à AC sont accessibles par un utilisateur 02 par motde passe test 02
j'aimerais quand l'utilisateur test 02 indique "recruté été" dans cellule de la colonne Y, si l'utilisateur 01 sélectionne une celulle de la ligne correspondante son mot de passe ne lui soit pas demandé mais un message apparaisse lui indiquant" modification impossible".
est ce que quelq'un peut m'aider par une macro , j'ai bien essayé par données /validation de données mais différentes cellules contiennent déjà cette solution ,et nous ne pouvons pas multiplier les conditions.
merci de votre aide
Bonjour Ohua, bonjour le forum,
Je n'arrive pas à comprendre comment tu bloques certaines cellules par mot de passe. Je ne savais même pas que cela était faisable... Il faut, je pense, modifier cette partie pour obtenir ce que tu veux mais je ne la trouve pas...
merci thau thème
pour votre information bloquer certaines cellules par mot de passe
passer par Révision /permettre la modification des plages
ensuite nouvelle ==>déterminer un titre,une plage et un mot de passe
cela pour chaque plage de cellule que l'on souhaite rendre accessible par un mot de passe
ensuite protéger la feuille par un mot de passe différent .
au final cela permet d' avoir à ces plages par le mot de passe préalablement choisi m^me avec une feuille protégée.
avec ces explications j'espère que quelq'un pourra m'aider à résoudre ma difficulté
Bonjour Ohua, bonjour le forum,
Le code ci-dessous sur l'événement SelectionChange ne fait pas exactement ce que tu demandes mais pourrait peut-être convenir. Si recruté été en Y alors il faut taper le mot de passe de l'utilisateur 02 à la place du mot de passe de l'utilisateur 01...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim NP1 As Range 'déclare la variable NP1 (Nouvelle Plage 1)
Dim NP2 As Range 'déclare la variable NP1 (Nouvelle Plage 2)
Dim PP As AllowEditRange 'déclare la variable PP (Plages Protégées)
Me.Unprotect "Pw" 'déprotège l'onglet
Set NP1 = Range("A1") 'initialise la plage PL1
Set NP2 = Range("A1") 'initialise la plage PL2
For I = 2 To 6 'boucle des lignes 1 à
If Not Cells(I, 25).Value = "recruté été" Then 'si la valeur de la cellule ligne I colonne 25 (=Y) n'est pas "recruté été"
'définit la plage PL1 (si PL1 ne compte qu'une seule cellule les cellule des colonne 5 (=E) à 21 (=U) de la ligne I, sinon l'union de ces cellule et de la plage PL1)
Set NP1 = IIf(NP1.Cells.Count = 1, Range(Cells(I, 5), Cells(I, 21)), Application.Union(NP1, Range(Cells(I, 5), Cells(I, 21))))
Else 'sinon (est égale à "recruté été"
'définit la plage PL2 (si PL2 ne compte qu'une seule cellule les cellule des colonne 5 (=E) à 21 (=U) de la ligne I, sinon l'union de ces cellule et de la plage PL1)
Set NP2 = IIf(NP2.Cells.Count = 1, Range(Cells(I, 5), Cells(I, 21)), Application.Union(NP2, Range(Cells(I, 5), Cells(I, 21))))
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
For Each PP In ActiveSheet.Protection.AllowEditRanges 'boucle sur toutes les plages protégées PP de l'onglet
PP.Delete 'supprime la plage protégée PP
Next PP 'prochaine plage de la boucle
With ActiveSheet.Protection.AllowEditRanges 'prend en compte les plage protégées de l'onglet
.Add Title:="Autorisation01", Range:=NPL1, Password:="test01" 'définit la plage "Autorisation1" qui perd les ligne "recruté été" dans les colonne E à U
.Add Title:="Autorisation02", Range:=Application.Union(Range("Y2:AB6"), NP2), Password:="test02" 'définit la plage "Autorisation2" qui gagne les lignes "recruté été" dans les colonne E à U
End With 'fin de la prise en compte des plages protégées
Me.Protect "Pw" 'protège l'onglet
End Sub
Merci Thau thème
désolé pour raison professionnelle , je n'ai pu vous répondre plus tôt
lorsque je lance le fichier que vous avez envoyé , le débogeur m'indique en erreur sur l
.Add Title:="Autorisation01", Range:=NPL1, Password:="test01" 'définit la plage "Autorisation1" qui perd les ligne "recruté été" dans les colonne E à U.
j'avoue que j'ai essayé différente choses mais je n'ai pas trouvé.
si vous avez une idée
merci de votre aide
Bonjour Ohua, bonjour le forum,
Oui désolé il y a une erreur. Remplace NPL1 par NP1...
merci Thau thème
un peu honteux de ne pas avoir dépisté cela tout seul
malheureusement , j'ai quelques soucis.
- je ne peux plus ôter le protection par mdp"Pw", il me le demande à chaque clic sur une cellule
- à l'inverse pour les ligne dont Y ne contient pas "recuté été " il ne me demande pas de mot de passe par exempel en G2
- dernier point est t'il possible d'avoir un message plutôt que "mot de passe non valide vérifiez que la touche maj..........." mais plutôt "personne recrutée vous ne pouvez pas changer les données, merci"
merci de votre aide