Désactiver procéd événementielle

alexis

XLDnaute Nouveau
Bonsoir à tous,

j'espère que tout le monde va bien et se dore la pilule au soleil.
Hélas d'autres travaillent et je suis dans ce cas :eek:

Je bosse sur un classeur excel qui :
1. Quand on clique sur une cellule, une valeur est copiée qq part et collée dans cette cellule.
2. La feuille est protégée et la cellulle est verrouillée sauf justement quand on clique sur la cellule
==> jusque là pas de problème, ca marche nickel

je souhaiterais donc améliorer mon code avec le point 3.

3. si c'est 'toto' qui ouvre le classeur excel, je souhaiterais que la procédure événementielle ne s'exécute pas
ou en d'autres termes que le classeur ne soit pas protégé et que les formules ne soient pas verrouillées.
J'ai tenté d'écrire du code qui correspond au point 3. (en début du code ci dessous) mais cela ne fonctionne pas...

Y aurait-il un crack en VBA pour m'aider?

Cordialement et bonne soirée à tlm,
Alexis

Code:
Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lapersonne
lapersonne = Application.UserName
If lapersonne = 'toto' Then
ActiveSheet.Unprotect ('motdepasse')
Range('A1:Z45').Locked = False
Application.EnableEvents = False
Exit Sub
Else
End If
ActiveSheet.Unprotect ('motdepasse')
Application.OnKey '%{F8}', ''
If Target.Address = '$B$10' And Range('C2') = '1' And Range('B10') = '' And Range('C10') = '' And Range('D10') = '' And Range('E10') = '' And Range('J3') = Range('K3') Then
Calculate
Range('B10').Locked = False
Range('$B$2').Copy
Range('$B$10').PasteSpecial xlPasteValues
Range('B10').Locked = True
End If
ActiveSheet.Protect ('motdepasse')
Range('B3').Activate
End Sub
 

Discussions similaires

Réponses
14
Affichages
749

Statistiques des forums

Discussions
312 890
Messages
2 093 349
Membres
105 696
dernier inscrit
FrancisR