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

14bloquer-ligne.xlsx (27.46 Ko)

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
13ohua-v01.xlsm (37.83 Ko)

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

Rechercher des sujets similaires à "bloquer ligne suivant texte utilisateur multiples"