Bonjour à vous,
Je vous explique mon problème. J'ai crée un fichier Excel pour que les employés indiquent leurs heures travaillées et dans ce fichier, les heures de congé se calculent automatiquement. Afin d'éviter qu'un employé se rajoute par inadvertance des heures supplémentaires sur une période précédente et par le fait même, gonfle sa banque de temps, à chaque période de paye je verrouille les cellules. J'ai créer cette macro que j'ai associé à ALT+f afin de me faciliter la vie :
J'avais trouvé en passant dans le menu Outils/VBAProject - Propriétés du projet dans l'onglet protection comment protéger par mot de passe, mais j'ai aussi trouvé dans la même journée la façon de contourner le mot de passe, et un de mes collègues de travail aussi, donc inutile de protéger la macro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub Figer_les_heures() Dim resultat As Long Dim resultat1 As Long On Error Resume Next resultat = InputBox("Ligne débutant ?", "") resultat1 = InputBox("Ligne finissant ?", "") If Err <> 0 Then Exit Sub ActiveSheet.Unprotect Password:=Range("AI" & 1) Range("D" & resultat & ":T" & resultat1).Select Selection.Locked = True Range("W" & resultat1 + 3).Select ActiveSheet.Protect Password:=Range("AI" & 1), DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub
Comme vous le voyez, au lieu d'inscrire le mot de passe, je l'ai inclus dans une cellule que j'ai masquée mais le problème c'est que si on fait exécuter la macro "pas à pas détaillé" et qu'on la stop juste avant qu'elle remette la protection de la feuille, on peut aller voir le contenu de la cellule AI1.
Je vous joins mon fichier afin de vous aider à comprendre ma problématique.Feuille de temps.xlsm
Est-ce que quelqu'un aurait une idée ou une piste de solution?
Un gros merci à l'avance!
Partager