je cherche un bout de code VBA pour differencier les droits d'acces sur un
classeur pour 2 utilisateurs.
J'ai un collaborateur qui effectue des relèves et saisit les données dans
des feuilles (1 par mois). Je souhaiterais lui autoriser uniquement la
saisie sur ces feuilles, dans des colonnes bien précises et lui empecher les
modifications de la structure du classeur.
L'ideal serait une boite de dialogue s'ouvrant à l'ouverture du classeur
demandant un mot de passe. Suivant le mot de passe saisi, l'utilisateur se
voit authorisé la saisie sur des colonnes determinées ou je me vois
authorisé le controle total.
Ceci dans le but de conserver pour moi le droit de modifier et faire evoluer
le fichier et eviter à mon collaborateur de faire des dommages à la
structure du fichier dont j'ai mis beaucoup de temps à mettre en place les
formules.
Visualise la(les) feuille(s) de l'utilisateur en fonction du mot de passe:
Dans la feuille Admin: Mot passe Feuille Jacques Boisgontier Jacques Boisgontier2 Jean Dupont Invité TouLeMonde
Dans le UserForm:
Private Sub B_ok_Click() If Me.motpasse <> "" Then For i = 1 To Range("MotPasse").Count If UCase(Me.motpasse) = UCase(Range("motpasse")(i)) Then temp = Range("feuille")(i) Sheets(temp).Visible = True End If Next i End If Unload Me End Sub
Dans un Module:
Sub auto_open() UserForm1.Show End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) For s = 2 To Sheets.Count ' on masque les feuilles Sheets(s).Visible = xlVeryHidden Next s End Sub
Solution2: Pas de mot de passe . Le nom réseau authentifie la personne
Visualise les feuilles de l'utilisateur(nom réseau)
Un onglet Admin contient
User Feuille Boisgontier Boisgontier Boisgontier Boisgontier2 Dupont Dupont
Private Sub Workbook_Open() For i = 1 To Range("user").Count If UCase(Environ("username")) = UCase(Range("user")(i)) Then temp = Range("feuille")(i) Sheets(temp).Visible = True End If Next i End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) For s = 2 To Sheets.Count ' on masque les feuilles Sheets(s).Visible = xlVeryHidden Next s End Sub
JB http://boisgontierjacques.free.fr/
On 18 juin, 09:46, "Pascal" wrote:
je cherche un bout de code VBA pour differencier les droits d'acces sur un classeur pour 2 utilisateurs.
J'ai un collaborateur qui effectue des relèves et saisit les données dans des feuilles (1 par mois). Je souhaiterais lui autoriser uniquement la saisie sur ces feuilles, dans des colonnes bien précises et lui empeche r les modifications de la structure du classeur.
L'ideal serait une boite de dialogue s'ouvrant à l'ouverture du classeur demandant un mot de passe. Suivant le mot de passe saisi, l'utilisateur se voit authorisé la saisie sur des colonnes determinées ou je me vois authorisé le controle total.
Ceci dans le but de conserver pour moi le droit de modifier et faire evol uer le fichier et eviter à mon collaborateur de faire des dommages à la structure du fichier dont j'ai mis beaucoup de temps à mettre en place les formules.
Visualise la(les) feuille(s) de l'utilisateur en fonction du mot de
passe:
Dans la feuille Admin:
Mot passe Feuille
Jacques Boisgontier
Jacques Boisgontier2
Jean Dupont
Invité TouLeMonde
Dans le UserForm:
Private Sub B_ok_Click()
If Me.motpasse <> "" Then
For i = 1 To Range("MotPasse").Count
If UCase(Me.motpasse) = UCase(Range("motpasse")(i)) Then
temp = Range("feuille")(i)
Sheets(temp).Visible = True
End If
Next i
End If
Unload Me
End Sub
Dans un Module:
Sub auto_open()
UserForm1.Show
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
For s = 2 To Sheets.Count ' on masque les feuilles
Sheets(s).Visible = xlVeryHidden
Next s
End Sub
Solution2: Pas de mot de passe . Le nom réseau authentifie la personne
Visualise les feuilles de l'utilisateur(nom réseau)
Un onglet Admin contient
User Feuille
Boisgontier Boisgontier
Boisgontier Boisgontier2
Dupont Dupont
Private Sub Workbook_Open()
For i = 1 To Range("user").Count
If UCase(Environ("username")) = UCase(Range("user")(i)) Then
temp = Range("feuille")(i)
Sheets(temp).Visible = True
End If
Next i
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
For s = 2 To Sheets.Count ' on masque les feuilles
Sheets(s).Visible = xlVeryHidden
Next s
End Sub
JB
http://boisgontierjacques.free.fr/
On 18 juin, 09:46, "Pascal" <nospam-squale...@hotmail.fr> wrote:
je cherche un bout de code VBA pour differencier les droits d'acces sur un
classeur pour 2 utilisateurs.
J'ai un collaborateur qui effectue des relèves et saisit les données dans
des feuilles (1 par mois). Je souhaiterais lui autoriser uniquement la
saisie sur ces feuilles, dans des colonnes bien précises et lui empeche r les
modifications de la structure du classeur.
L'ideal serait une boite de dialogue s'ouvrant à l'ouverture du classeur
demandant un mot de passe. Suivant le mot de passe saisi, l'utilisateur se
voit authorisé la saisie sur des colonnes determinées ou je me vois
authorisé le controle total.
Ceci dans le but de conserver pour moi le droit de modifier et faire evol uer
le fichier et eviter à mon collaborateur de faire des dommages à la
structure du fichier dont j'ai mis beaucoup de temps à mettre en place les
formules.
Visualise la(les) feuille(s) de l'utilisateur en fonction du mot de passe:
Dans la feuille Admin: Mot passe Feuille Jacques Boisgontier Jacques Boisgontier2 Jean Dupont Invité TouLeMonde
Dans le UserForm:
Private Sub B_ok_Click() If Me.motpasse <> "" Then For i = 1 To Range("MotPasse").Count If UCase(Me.motpasse) = UCase(Range("motpasse")(i)) Then temp = Range("feuille")(i) Sheets(temp).Visible = True End If Next i End If Unload Me End Sub
Dans un Module:
Sub auto_open() UserForm1.Show End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) For s = 2 To Sheets.Count ' on masque les feuilles Sheets(s).Visible = xlVeryHidden Next s End Sub
Solution2: Pas de mot de passe . Le nom réseau authentifie la personne
Visualise les feuilles de l'utilisateur(nom réseau)
Un onglet Admin contient
User Feuille Boisgontier Boisgontier Boisgontier Boisgontier2 Dupont Dupont
Private Sub Workbook_Open() For i = 1 To Range("user").Count If UCase(Environ("username")) = UCase(Range("user")(i)) Then temp = Range("feuille")(i) Sheets(temp).Visible = True End If Next i End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) For s = 2 To Sheets.Count ' on masque les feuilles Sheets(s).Visible = xlVeryHidden Next s End Sub
JB http://boisgontierjacques.free.fr/
On 18 juin, 09:46, "Pascal" wrote:
je cherche un bout de code VBA pour differencier les droits d'acces sur un classeur pour 2 utilisateurs.
J'ai un collaborateur qui effectue des relèves et saisit les données dans des feuilles (1 par mois). Je souhaiterais lui autoriser uniquement la saisie sur ces feuilles, dans des colonnes bien précises et lui empeche r les modifications de la structure du classeur.
L'ideal serait une boite de dialogue s'ouvrant à l'ouverture du classeur demandant un mot de passe. Suivant le mot de passe saisi, l'utilisateur se voit authorisé la saisie sur des colonnes determinées ou je me vois authorisé le controle total.
Ceci dans le but de conserver pour moi le droit de modifier et faire evol uer le fichier et eviter à mon collaborateur de faire des dommages à la structure du fichier dont j'ai mis beaucoup de temps à mettre en place les formules.
les colonnes sont nommées avec le nom de l'utilisateur réseau Private Sub Workbook_Open() Sheets(1).Unprotect Password:="" Columns(Range(Environ("username")).Address).EntireColumn.Hidden = False Sheets(1).Protect Password:="" End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(1).Unprotect Password:="" Columns("h:z").EntireColumn.Hidden = XlVeryHidden Sheets(1).Protect Password:="" End Sub
Créer des noms de champ avec Insertion/Nom/Définir: boisgontier: H:J stagiaire: K:M xxxxxx: xxxx
Visualise la(les) feuille(s) de l'utilisateur en fonction du mot de passe:
Dans la feuille Admin: Mot passe Feuille Jacques Boisgontier Jacques Boisgontier2 Jean Dupont Invité TouLeMonde
Dans le UserForm:
Private Sub B_ok_Click() If Me.motpasse <> "" Then For i = 1 To Range("MotPasse").Count If UCase(Me.motpasse) = UCase(Range("motpasse")(i)) Then temp = Range("feuille")(i) Sheets(temp).Visible = True End If Next i End If Unload Me End Sub
Dans un Module:
Sub auto_open() UserForm1.Show End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) For s = 2 To Sheets.Count ' on masque les feuilles Sheets(s).Visible = xlVeryHidden Next s End Sub
Solution2: Pas de mot de passe . Le nom réseau authentifie la personne
Visualise les feuilles de l'utilisateur(nom réseau)
Un onglet Admin contient
User Feuille Boisgontier Boisgontier Boisgontier Boisgontier2 Dupont Dupont
Private Sub Workbook_Open() For i = 1 To Range("user").Count If UCase(Environ("username")) = UCase(Range("user")(i)) Then temp = Range("feuille")(i) Sheets(temp).Visible = True End If Next i End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) For s = 2 To Sheets.Count ' on masque les feuilles Sheets(s).Visible = xlVeryHidden Next s End Sub
JBhttp://boisgontierjacques.free.fr/
On 18 juin, 09:46, "Pascal" wrote:
je cherche un bout de code VBA pour differencier les droits d'acces sur un classeur pour 2 utilisateurs.
J'ai un collaborateur qui effectue des relèves et saisit les donnée s dans des feuilles (1 par mois). Je souhaiterais lui autoriser uniquement la saisie sur ces feuilles, dans des colonnes bien précises et lui empec her les modifications de la structure du classeur.
L'ideal serait une boite de dialogue s'ouvrant à l'ouverture du class eur demandant un mot de passe. Suivant le mot de passe saisi, l'utilisateur se voit authorisé la saisie sur des colonnes determinées ou je me vois authorisé le controle total.
Ceci dans le but de conserver pour moi le droit de modifier et faire ev oluer le fichier et eviter à mon collaborateur de faire des dommages à la structure du fichier dont j'ai mis beaucoup de temps à mettre en plac e les formules.
les colonnes sont nommées avec le nom de l'utilisateur réseau
Private Sub Workbook_Open()
Sheets(1).Unprotect Password:=""
Columns(Range(Environ("username")).Address).EntireColumn.Hidden =
False
Sheets(1).Protect Password:=""
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sheets(1).Unprotect Password:=""
Columns("h:z").EntireColumn.Hidden = XlVeryHidden
Sheets(1).Protect Password:=""
End Sub
Créer des noms de champ avec Insertion/Nom/Définir:
boisgontier: H:J
stagiaire: K:M
xxxxxx: xxxx
JB
On 18 juin, 10:58, JB <boisgont...@hotmail.com> wrote:
Visualise la(les) feuille(s) de l'utilisateur en fonction du mot de
passe:
Dans la feuille Admin:
Mot passe Feuille
Jacques Boisgontier
Jacques Boisgontier2
Jean Dupont
Invité TouLeMonde
Dans le UserForm:
Private Sub B_ok_Click()
If Me.motpasse <> "" Then
For i = 1 To Range("MotPasse").Count
If UCase(Me.motpasse) = UCase(Range("motpasse")(i)) Then
temp = Range("feuille")(i)
Sheets(temp).Visible = True
End If
Next i
End If
Unload Me
End Sub
Dans un Module:
Sub auto_open()
UserForm1.Show
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
For s = 2 To Sheets.Count ' on masque les feuilles
Sheets(s).Visible = xlVeryHidden
Next s
End Sub
Solution2: Pas de mot de passe . Le nom réseau authentifie la personne
Visualise les feuilles de l'utilisateur(nom réseau)
Un onglet Admin contient
User Feuille
Boisgontier Boisgontier
Boisgontier Boisgontier2
Dupont Dupont
Private Sub Workbook_Open()
For i = 1 To Range("user").Count
If UCase(Environ("username")) = UCase(Range("user")(i)) Then
temp = Range("feuille")(i)
Sheets(temp).Visible = True
End If
Next i
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
For s = 2 To Sheets.Count ' on masque les feuilles
Sheets(s).Visible = xlVeryHidden
Next s
End Sub
JBhttp://boisgontierjacques.free.fr/
On 18 juin, 09:46, "Pascal" <nospam-squale...@hotmail.fr> wrote:
je cherche un bout de code VBA pour differencier les droits d'acces sur un
classeur pour 2 utilisateurs.
J'ai un collaborateur qui effectue des relèves et saisit les donnée s dans
des feuilles (1 par mois). Je souhaiterais lui autoriser uniquement la
saisie sur ces feuilles, dans des colonnes bien précises et lui empec her les
modifications de la structure du classeur.
L'ideal serait une boite de dialogue s'ouvrant à l'ouverture du class eur
demandant un mot de passe. Suivant le mot de passe saisi, l'utilisateur se
voit authorisé la saisie sur des colonnes determinées ou je me vois
authorisé le controle total.
Ceci dans le but de conserver pour moi le droit de modifier et faire ev oluer
le fichier et eviter à mon collaborateur de faire des dommages à la
structure du fichier dont j'ai mis beaucoup de temps à mettre en plac e les
formules.
les colonnes sont nommées avec le nom de l'utilisateur réseau Private Sub Workbook_Open() Sheets(1).Unprotect Password:="" Columns(Range(Environ("username")).Address).EntireColumn.Hidden = False Sheets(1).Protect Password:="" End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(1).Unprotect Password:="" Columns("h:z").EntireColumn.Hidden = XlVeryHidden Sheets(1).Protect Password:="" End Sub
Créer des noms de champ avec Insertion/Nom/Définir: boisgontier: H:J stagiaire: K:M xxxxxx: xxxx
Visualise la(les) feuille(s) de l'utilisateur en fonction du mot de passe:
Dans la feuille Admin: Mot passe Feuille Jacques Boisgontier Jacques Boisgontier2 Jean Dupont Invité TouLeMonde
Dans le UserForm:
Private Sub B_ok_Click() If Me.motpasse <> "" Then For i = 1 To Range("MotPasse").Count If UCase(Me.motpasse) = UCase(Range("motpasse")(i)) Then temp = Range("feuille")(i) Sheets(temp).Visible = True End If Next i End If Unload Me End Sub
Dans un Module:
Sub auto_open() UserForm1.Show End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) For s = 2 To Sheets.Count ' on masque les feuilles Sheets(s).Visible = xlVeryHidden Next s End Sub
Solution2: Pas de mot de passe . Le nom réseau authentifie la personne
Visualise les feuilles de l'utilisateur(nom réseau)
Un onglet Admin contient
User Feuille Boisgontier Boisgontier Boisgontier Boisgontier2 Dupont Dupont
Private Sub Workbook_Open() For i = 1 To Range("user").Count If UCase(Environ("username")) = UCase(Range("user")(i)) Then temp = Range("feuille")(i) Sheets(temp).Visible = True End If Next i End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) For s = 2 To Sheets.Count ' on masque les feuilles Sheets(s).Visible = xlVeryHidden Next s End Sub
JBhttp://boisgontierjacques.free.fr/
On 18 juin, 09:46, "Pascal" wrote:
je cherche un bout de code VBA pour differencier les droits d'acces sur un classeur pour 2 utilisateurs.
J'ai un collaborateur qui effectue des relèves et saisit les donnée s dans des feuilles (1 par mois). Je souhaiterais lui autoriser uniquement la saisie sur ces feuilles, dans des colonnes bien précises et lui empec her les modifications de la structure du classeur.
L'ideal serait une boite de dialogue s'ouvrant à l'ouverture du class eur demandant un mot de passe. Suivant le mot de passe saisi, l'utilisateur se voit authorisé la saisie sur des colonnes determinées ou je me vois authorisé le controle total.
Ceci dans le but de conserver pour moi le droit de modifier et faire ev oluer le fichier et eviter à mon collaborateur de faire des dommages à la structure du fichier dont j'ai mis beaucoup de temps à mettre en plac e les formules.
Merci- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Ar
Il n'y a pas besoin de VBA pour faire ça.
Il suffit de définir les celules qui doivent être accessibles comme non protégées (Format/Cellules), puis de protéger la feuille avec un mot de passe.
je cherche un bout de code VBA pour differencier les droits d'acces sur un classeur pour 2 utilisateurs.
J'ai un collaborateur qui effectue des relèves et saisit les données dans des feuilles (1 par mois). Je souhaiterais lui autoriser uniquement la saisie sur ces feuilles, dans des colonnes bien précises et lui empecher les modifications de la structure du classeur.
L'ideal serait une boite de dialogue s'ouvrant à l'ouverture du classeur demandant un mot de passe. Suivant le mot de passe saisi, l'utilisateur se voit authorisé la saisie sur des colonnes determinées ou je me vois authorisé le controle total.
Ceci dans le but de conserver pour moi le droit de modifier et faire evoluer le fichier et eviter à mon collaborateur de faire des dommages à la structure du fichier dont j'ai mis beaucoup de temps à mettre en place les formules.
Merci
Il n'y a pas besoin de VBA pour faire ça.
Il suffit de définir les celules qui doivent être accessibles comme non
protégées (Format/Cellules), puis de protéger la feuille avec un mot de
passe.
je cherche un bout de code VBA pour differencier les droits d'acces sur un
classeur pour 2 utilisateurs.
J'ai un collaborateur qui effectue des relèves et saisit les données dans
des feuilles (1 par mois). Je souhaiterais lui autoriser uniquement la
saisie sur ces feuilles, dans des colonnes bien précises et lui empecher les
modifications de la structure du classeur.
L'ideal serait une boite de dialogue s'ouvrant à l'ouverture du classeur
demandant un mot de passe. Suivant le mot de passe saisi, l'utilisateur se
voit authorisé la saisie sur des colonnes determinées ou je me vois
authorisé le controle total.
Ceci dans le but de conserver pour moi le droit de modifier et faire evoluer
le fichier et eviter à mon collaborateur de faire des dommages à la
structure du fichier dont j'ai mis beaucoup de temps à mettre en place les
formules.
Il suffit de définir les celules qui doivent être accessibles comme non protégées (Format/Cellules), puis de protéger la feuille avec un mot de passe.
je cherche un bout de code VBA pour differencier les droits d'acces sur un classeur pour 2 utilisateurs.
J'ai un collaborateur qui effectue des relèves et saisit les données dans des feuilles (1 par mois). Je souhaiterais lui autoriser uniquement la saisie sur ces feuilles, dans des colonnes bien précises et lui empecher les modifications de la structure du classeur.
L'ideal serait une boite de dialogue s'ouvrant à l'ouverture du classeur demandant un mot de passe. Suivant le mot de passe saisi, l'utilisateur se voit authorisé la saisie sur des colonnes determinées ou je me vois authorisé le controle total.
Ceci dans le but de conserver pour moi le droit de modifier et faire evoluer le fichier et eviter à mon collaborateur de faire des dommages à la structure du fichier dont j'ai mis beaucoup de temps à mettre en place les formules.