Gérer plusieurs Utilisateurs sur un même Classeur

yochma23

XLDnaute Nouveau
Bonjour à toutes et a tous,

En ce dimanche matin je suis confronté a un problème qui avec mon petit niveau en VBA me dépasse.

Voila, j'ai un classeur avec une unqiue feuille. Cette feuille va être utilisé par 3 utilisateurs différents et je souhaiterai que chacun d'entre eux puissent intervenir en modification que sur une zone délimité.

Principe :

Utilisateur A => A le doit de modifier les celllues de la colonne A (de A1 à A 5000) et de la colonne E (de E1 à E5000).

Utilisateur B => A le doit de modifier les celllues de la colonne S (de S1 à S 5000) et de la colonne D (de D1 à D5000).

Utilisateur C => A le doit de modifier les celllues de la colonne F (de F1 à F 5000) et de la colonne X (de X1 à X5000).

Chacun pour se différencier aurai un code à l'ouverture du classeur.

Principe simplifié des codes.

A => code "A"
B => code "B"
C => code "C"

Il y a déja eux des questions de ce type sur ce forum mais malgré toutes mes recherches, j'ai pas trouvé chaussure a mon pied. Je pense que pour certaisn d'entre vous c'est de la rigolade à faire.

SVP pouvez vous m'aider, merci d'avance et bon dimanche à toutes et à tous.

Longue vie a ce fabuleux forum

Dans l'attente de vos reponses,

Cordialement,

Yochma23
 

michel_m

XLDnaute Accro
Re : Gérer plusieurs Utilisateurs sur un même Classeur

Bonjour Yochma

ci dessous macro à compléter et à coller dans le module "thisworkbook"

Code:
Private Sub Workbook_Open()
Dim mdp As String

mdp = InputBox("insérer votre mdp")
If mdp = "A" Or mdp = "B" Or mdp = "C" Then

With ActiveSheet
    .Unprotect
    .Cells.Locked = True
End With

Select Case mdp
    Case "A"
    Union(Range("A1:A5000"), Range("E1:E5000")).Locked = False
    
    Case "B"
    '...
    
End Select

End If
ActiveSheet.Protect
End Sub

cordialement
 

yochma23

XLDnaute Nouveau
Re : Gérer plusieurs Utilisateurs sur un même Classeur

Rebonjour à toutes et a tous,

J'ai adapter le code transmis par Michel qui est ci dessous :

code :

Private Sub workbook_open()
Dim mdp As String

Sheets("PAC").Activate


mdp = InputBox("Veuillez saisir votre Mot de Passe svp")
If mdp = "CP" Or mdp = "APPRO" Or mdp = "ASSIS" Or mdp = "x13241" Then

With ActiveSheet
.Unprotect
.Cells.Locked = True

End With

Select Case mdp
Case "CP"
Union(Range("A1:A5000"), Range("E1:E5000")).Locked = False

Case "APPRO"
Union(Range("B1:B5000"), Range("C1:C5000")).Locked = False

Case "ASSIS"
Union(Range("D1:D5000"), Range("F1:F5000")).Locked = False

Case "x13241"
Range("A1:IV65000").Locked = False

End Select

End If
ActiveSheet.Protect


Call filtre


End Sub

Private Sub filtre()
Sheets("PAC").Activate
Feuil1.EnableAutoFilter = True
Feuil1.Protect contents:=True, userInterfaceOnly:=True
End Sub


Toutefois, je souhaiterai que lorsque le mot de passe saisie de correspond pas as CP, APPRO,ASSIS ou x13241, il y est un message qui dise un truc du style "Veuillez sasir svp un mot de passe correct".

Y a t'il une âme charitable pour m'aider svp?

Merci d'avance

Yochma23
 

sousou

XLDnaute Barbatruc
Re : Gérer plusieurs Utilisateurs sur un même Classeur

Bonjour yochma
Je n'ai pas regardé exactement ton problème, mais jai une petite appli qui m'a été demandée dernièrement et qui gère plusieurs user sur un même fichier

Cela peu peut-être t'aider
 

Pièces jointes

  • multiuser.xls
    38.5 KB · Affichages: 124

michel_m

XLDnaute Accro
Re : Gérer plusieurs Utilisateurs sur un même Classeur

bonjour yochma, sousou

ci dessous proposition
Code:
Dim mdp As String
[B]Dim flag As Boolean, test As Long[/B]
Sheets("PAC").Activate

[B]Do Until flag = True[/B]
    mdp = InputBox("Veuillez saisir votre Mot de Passe svp")
    If mdp = "CP" Or mdp = "APPRO" Or mdp = "ASSIS" Or mdp = "x13241" Then
        [B]flag = True[/B]
        With ActiveSheet
        .Unprotect
        .Cells.Locked = True
        End With
....ton select case sans changements
        
        End Select
    [B]Else
    test = MsgBox("mot de passe erroné, recommencer?", vbYesNo)
    If test = vbNo Then
        Exit Sub
    End If
    End If
    Loop[/B]




ActiveSheet.Protect
 

Discussions similaires

Réponses
22
Affichages
874

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry