Bonjour
je voudrai mettre dans vba à l'ouverture une identification de la personne
connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les
cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2.
si la personne connectée est M 222 alors déplacement autorisé dans les
cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2.
...
et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors
fermeture du classeur.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FxM
Bonjour,
... et tu nous proposes quel début de solution, de code, ... ?
Appréciant les bienpolitus (chouette), je dirais que le principe est de "détecter qui" pour "appliquer quelque chose".
Le "détecter qui" va varier selon le mode d'identification. Si tu vois par rapport au nom d'utilisateur du PC, c'est du coté de if application.username = "toto" then Attention, Y utilisant le micro de X aura les droits de X.
Si tu vois dans un userform ou inputbox, c'est plutot if textbox1 = "toto" then ou rep = inputbox(...) if rep = "toto" then
En guise de "appliquer quelque chose", ça devrait ressembler à sheets("Feuil1").range("B4:B17").cells.unlock (à vérifier avec l'enregistreur de macros).
Enfin, pour quitter sans rien faire, ça sent le Thisworkbook.close false
@+ FxM
Bonjour je voudrai mettre dans vba à l'ouverture une identification de la personne connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2. si la personne connectée est M 222 alors déplacement autorisé dans les cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2. .... et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors fermeture du classeur.
Merci.
Bonjour,
... et tu nous proposes quel début de solution, de code, ... ?
Appréciant les bienpolitus (chouette), je dirais que le principe est de
"détecter qui" pour "appliquer quelque chose".
Le "détecter qui" va varier selon le mode d'identification.
Si tu vois par rapport au nom d'utilisateur du PC, c'est du coté de
if application.username = "toto" then
Attention, Y utilisant le micro de X aura les droits de X.
Si tu vois dans un userform ou inputbox, c'est plutot
if textbox1 = "toto" then
ou
rep = inputbox(...)
if rep = "toto" then
En guise de "appliquer quelque chose", ça devrait ressembler à
sheets("Feuil1").range("B4:B17").cells.unlock
(à vérifier avec l'enregistreur de macros).
Enfin, pour quitter sans rien faire, ça sent le
Thisworkbook.close false
@+
FxM
Bonjour
je voudrai mettre dans vba à l'ouverture une identification de la personne
connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les
cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2.
si la personne connectée est M 222 alors déplacement autorisé dans les
cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2.
....
et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors
fermeture du classeur.
... et tu nous proposes quel début de solution, de code, ... ?
Appréciant les bienpolitus (chouette), je dirais que le principe est de "détecter qui" pour "appliquer quelque chose".
Le "détecter qui" va varier selon le mode d'identification. Si tu vois par rapport au nom d'utilisateur du PC, c'est du coté de if application.username = "toto" then Attention, Y utilisant le micro de X aura les droits de X.
Si tu vois dans un userform ou inputbox, c'est plutot if textbox1 = "toto" then ou rep = inputbox(...) if rep = "toto" then
En guise de "appliquer quelque chose", ça devrait ressembler à sheets("Feuil1").range("B4:B17").cells.unlock (à vérifier avec l'enregistreur de macros).
Enfin, pour quitter sans rien faire, ça sent le Thisworkbook.close false
@+ FxM
Bonjour je voudrai mettre dans vba à l'ouverture une identification de la personne connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2. si la personne connectée est M 222 alors déplacement autorisé dans les cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2. .... et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors fermeture du classeur.
Merci.
Angelus
Bonjour FxM Je c'est que je fait pas dans la simplicité lol :) En faite j'ai vu sur le site excelabo dans le dossier à télécharger :"N°461 : De Michel Pierron, mp-menusdansuserform" que l'on pouvez identifier la personne conecter à l'aide de
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
J'aimerai utilisé cette fonction pour faire un si utilisateur X alors aplliquer tel commande.
Je c pas si je m'explique bien. c'est plus clair comme ça? Merci
Bonjour,
.... et tu nous proposes quel début de solution, de code, ... ?
Appréciant les bienpolitus (chouette), je dirais que le principe est de "détecter qui" pour "appliquer quelque chose".
Le "détecter qui" va varier selon le mode d'identification. Si tu vois par rapport au nom d'utilisateur du PC, c'est du coté de if application.username = "toto" then Attention, Y utilisant le micro de X aura les droits de X.
Si tu vois dans un userform ou inputbox, c'est plutot if textbox1 = "toto" then ou rep = inputbox(...) if rep = "toto" then
En guise de "appliquer quelque chose", ça devrait ressembler à sheets("Feuil1").range("B4:B17").cells.unlock (à vérifier avec l'enregistreur de macros).
Enfin, pour quitter sans rien faire, ça sent le Thisworkbook.close false
@+ FxM
Bonjour je voudrai mettre dans vba à l'ouverture une identification de la personne connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2. si la personne connectée est M 222 alors déplacement autorisé dans les cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2. .... et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors fermeture du classeur.
Merci.
Bonjour FxM
Je c'est que je fait pas dans la simplicité lol :)
En faite j'ai vu sur le site excelabo dans le dossier à télécharger :"N°461
: De Michel Pierron, mp-menusdansuserform" que l'on pouvez identifier la
personne conecter à l'aide de
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA"
(ByVal lpBuffer As String, nSize As Long) As Long
J'aimerai utilisé cette fonction pour faire un si utilisateur X alors
aplliquer tel commande.
Je c pas si je m'explique bien. c'est plus clair comme ça?
Merci
Bonjour,
.... et tu nous proposes quel début de solution, de code, ... ?
Appréciant les bienpolitus (chouette), je dirais que le principe est de
"détecter qui" pour "appliquer quelque chose".
Le "détecter qui" va varier selon le mode d'identification.
Si tu vois par rapport au nom d'utilisateur du PC, c'est du coté de
if application.username = "toto" then
Attention, Y utilisant le micro de X aura les droits de X.
Si tu vois dans un userform ou inputbox, c'est plutot
if textbox1 = "toto" then
ou
rep = inputbox(...)
if rep = "toto" then
En guise de "appliquer quelque chose", ça devrait ressembler à
sheets("Feuil1").range("B4:B17").cells.unlock
(à vérifier avec l'enregistreur de macros).
Enfin, pour quitter sans rien faire, ça sent le
Thisworkbook.close false
@+
FxM
Bonjour
je voudrai mettre dans vba à l'ouverture une identification de la personne
connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les
cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2.
si la personne connectée est M 222 alors déplacement autorisé dans les
cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2.
....
et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors
fermeture du classeur.
Bonjour FxM Je c'est que je fait pas dans la simplicité lol :) En faite j'ai vu sur le site excelabo dans le dossier à télécharger :"N°461 : De Michel Pierron, mp-menusdansuserform" que l'on pouvez identifier la personne conecter à l'aide de
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
J'aimerai utilisé cette fonction pour faire un si utilisateur X alors aplliquer tel commande.
Je c pas si je m'explique bien. c'est plus clair comme ça? Merci
Bonjour,
.... et tu nous proposes quel début de solution, de code, ... ?
Appréciant les bienpolitus (chouette), je dirais que le principe est de "détecter qui" pour "appliquer quelque chose".
Le "détecter qui" va varier selon le mode d'identification. Si tu vois par rapport au nom d'utilisateur du PC, c'est du coté de if application.username = "toto" then Attention, Y utilisant le micro de X aura les droits de X.
Si tu vois dans un userform ou inputbox, c'est plutot if textbox1 = "toto" then ou rep = inputbox(...) if rep = "toto" then
En guise de "appliquer quelque chose", ça devrait ressembler à sheets("Feuil1").range("B4:B17").cells.unlock (à vérifier avec l'enregistreur de macros).
Enfin, pour quitter sans rien faire, ça sent le Thisworkbook.close false
@+ FxM
Bonjour je voudrai mettre dans vba à l'ouverture une identification de la personne connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2. si la personne connectée est M 222 alors déplacement autorisé dans les cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2. .... et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors fermeture du classeur.
Merci.
JB
Bonjour,
-Enlève la protection du champ de l'utilisateur connecté. -les noms des champs sont les noms des users réseau.
http://cjoint.com/?jvnodhAeFb
Private Sub Workbook_Open() Sheets(1).Unprotect Password:="" nomUser = Environ("username") Sheets(1).Range(nomUser).Locked = False Sheets(1).Protect Password:="" End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(1).Unprotect Password:="" Sheets(1).Cells.Locked = True Sheets(1).Protect Password:="" End Sub
JB
Bonjour je voudrai mettre dans vba à l'ouverture une identification de la perso nne connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2. si la personne connectée est M 222 alors déplacement autorisé dans les cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2. ... et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors fermeture du classeur.
Merci.
Bonjour,
-Enlève la protection du champ de l'utilisateur connecté.
-les noms des champs sont les noms des users réseau.
http://cjoint.com/?jvnodhAeFb
Private Sub Workbook_Open()
Sheets(1).Unprotect Password:=""
nomUser = Environ("username")
Sheets(1).Range(nomUser).Locked = False
Sheets(1).Protect Password:=""
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sheets(1).Unprotect Password:=""
Sheets(1).Cells.Locked = True
Sheets(1).Protect Password:=""
End Sub
JB
Bonjour
je voudrai mettre dans vba à l'ouverture une identification de la perso nne
connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les
cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2.
si la personne connectée est M 222 alors déplacement autorisé dans les
cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2.
...
et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors
fermeture du classeur.
-Enlève la protection du champ de l'utilisateur connecté. -les noms des champs sont les noms des users réseau.
http://cjoint.com/?jvnodhAeFb
Private Sub Workbook_Open() Sheets(1).Unprotect Password:="" nomUser = Environ("username") Sheets(1).Range(nomUser).Locked = False Sheets(1).Protect Password:="" End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(1).Unprotect Password:="" Sheets(1).Cells.Locked = True Sheets(1).Protect Password:="" End Sub
JB
Bonjour je voudrai mettre dans vba à l'ouverture une identification de la perso nne connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2. si la personne connectée est M 222 alors déplacement autorisé dans les cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2. ... et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors fermeture du classeur.
Merci.
JB
http://cjoint.com/?jvnzwnSGRT
Private Sub Workbook_Open() Sheets(1).Unprotect Password:="" nomUser = Environ("username") On Error Resume Next Sheets(1).Range(nomUser).Locked = False If Err = 0 Then Sheets(1).Protect Password:="" ActiveSheet.EnableSelection = xlUnlockedCells Else MsgBox "Bye" 'ActiveWorkbook.Close End If End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(1).Unprotect Password:="" Sheets(1).Cells.Locked = True Sheets(1).Protect Password:="" End Sub
JB
Bonjour je voudrai mettre dans vba à l'ouverture une identification de la perso nne connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2. si la personne connectée est M 222 alors déplacement autorisé dans les cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2. ... et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors fermeture du classeur.
Merci.
http://cjoint.com/?jvnzwnSGRT
Private Sub Workbook_Open()
Sheets(1).Unprotect Password:=""
nomUser = Environ("username")
On Error Resume Next
Sheets(1).Range(nomUser).Locked = False
If Err = 0 Then
Sheets(1).Protect Password:=""
ActiveSheet.EnableSelection = xlUnlockedCells
Else
MsgBox "Bye"
'ActiveWorkbook.Close
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Sheets(1).Unprotect Password:=""
Sheets(1).Cells.Locked = True
Sheets(1).Protect Password:=""
End Sub
JB
Bonjour
je voudrai mettre dans vba à l'ouverture une identification de la perso nne
connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les
cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2.
si la personne connectée est M 222 alors déplacement autorisé dans les
cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2.
...
et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors
fermeture du classeur.
Private Sub Workbook_Open() Sheets(1).Unprotect Password:="" nomUser = Environ("username") On Error Resume Next Sheets(1).Range(nomUser).Locked = False If Err = 0 Then Sheets(1).Protect Password:="" ActiveSheet.EnableSelection = xlUnlockedCells Else MsgBox "Bye" 'ActiveWorkbook.Close End If End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(1).Unprotect Password:="" Sheets(1).Cells.Locked = True Sheets(1).Protect Password:="" End Sub
JB
Bonjour je voudrai mettre dans vba à l'ouverture une identification de la perso nne connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2. si la personne connectée est M 222 alors déplacement autorisé dans les cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2. ... et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors fermeture du classeur.
Merci.
Angelus
Bonjour je voudrai mettre dans vba à l'ouverture une identification de la personne connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2. si la personne connectée est M 222 alors déplacement autorisé dans les cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2. ... et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors fermeture du classeur.
Merci.
Bonjour
je voudrai mettre dans vba à l'ouverture une identification de la personne
connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les
cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2.
si la personne connectée est M 222 alors déplacement autorisé dans les
cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2.
...
et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors
fermeture du classeur.
Bonjour je voudrai mettre dans vba à l'ouverture une identification de la personne connecté sur un classeur en réseau afin de le personnalisé.
si la personne connectée est M 111 alors déplacement autorisé dans les cellules B4 à B17 sur la feuille1, C18 à C 24 sur la feuille2. si la personne connectée est M 222 alors déplacement autorisé dans les cellules D4 à D20 sur la feuille1, D8 à D 12 sur la feuille2. ... et que si la personne connecté n'est pas M 111, M 222 ou M 333 alors fermeture du classeur.
Merci.
Angelus
Merci FxM et JB
J'ai compilé un commande qui fonctionne :
If Application.UserName = "Utilisateur1" Then Worksheets(I).ScrollArea = "d4:f8" ElseIf Application.UserName = "Utilisateur2" Then Worksheets(I).ScrollArea = "e4:f8" ElseIf Application.UserName = "Utilisateur3" Then Worksheets(I).ScrollArea = "d4:k8" ElseIf Application.UserName = "Utilisateur4" Then Worksheets(I).ScrollArea = "d1:f8" ElseIf Application.UserName = "Utilisateur5" Then Worksheets(I).ScrollArea = "a4:f8" ElseIf Application.UserName = "Utilisateur6" Then Worksheets(I).ScrollArea = "b4:c8" Else MsgBox "Pas d'autorisation d'accès" 'ThisWorkbook.Close End If
Merci FxM et JB
J'ai compilé un commande qui fonctionne :
If Application.UserName = "Utilisateur1" Then
Worksheets(I).ScrollArea = "d4:f8"
ElseIf Application.UserName = "Utilisateur2" Then
Worksheets(I).ScrollArea = "e4:f8"
ElseIf Application.UserName = "Utilisateur3" Then
Worksheets(I).ScrollArea = "d4:k8"
ElseIf Application.UserName = "Utilisateur4" Then
Worksheets(I).ScrollArea = "d1:f8"
ElseIf Application.UserName = "Utilisateur5" Then
Worksheets(I).ScrollArea = "a4:f8"
ElseIf Application.UserName = "Utilisateur6" Then
Worksheets(I).ScrollArea = "b4:c8"
Else
MsgBox "Pas d'autorisation d'accès"
'ThisWorkbook.Close
End If