Bonjour Jean-pierre et le forum,
mille excuses pour la réponse tardive.
En fait, j'utilise la macro de christophe qui fonctionne avex win95 et win 2000 .
Module1
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long
Sub GetLoginName()
Dim strName As String
Dim lngReturn As Long
Dim strLoginName As String
strName = Space$(25)
lngReturn = GetUserName(strName, 25)
If lngReturn = 1 Then
strLoginName = Trim(strName)
DoEvents
MsgBox strLoginName
Else
MsgBox "Couldn't get the user's Name from the network."
End If
End Sub
Module2
public strLoginName
sub auto_open()
autorisation
end sub
sub autorisation()
déprotection = false
GetLoginName
if left(strLoginname,6) = "DUPONT" then
déprotection = true
else
msgBox "Pas d'autorisation pour la modification"
endif
Le code complet est un peu plus évolué car je fais un test dans "this worbook" pour savoir si le fichier est ouvert en readonly. Si oui, je bloque toute possiblité de sauvegarde quelque soit l'utilisateur. Si le fichier est ouvert avec le mot de passe de modification, je fais le test d'autorisation sur le LoginName.
Tout ceci de mémoire, car le code est au boulot et je dois le recopier pour l'envoyer aux personnes intéressées et sur le forum.
J'espère pouvoir le transmettre dans 1 ou 2 jours.
Encore un grand merci aux gens du foruml pour leur aide précieuse.
Francis