Bonjour tout le monde,
Dans le cadre de la réalisation d'une petite application de suivi, j'ai une macro qui me copie une feuille exemple ("SPL") 52 fois, une fois que c'est fait, il efface la feuille SPL.
Avant de lancer la macro, l'utilisateur doit remplir la cellule C2, qui sera reprise plus loin dans la macro afin de récupérer son contenu et de le répéter sur chaque nouvelle feuille.
Cette cellule C2 n'est pas protégée, et donc modifiable par la suite.
Ce que j'aimerais, c'est de vérifier que l'utilisateur a bien inséré une donnée dans cette cellule, et si c'est le cas, verrouiller la cellule en question.
Dans le cas contraire, l'inviter à saisir une donnée avant de poursuivre dans la macro, c'est à dire avant de copier la feuille SPL 52 fois.
Pour lancer la macro, l'utilisateur doit cliquer une image après avoir saisi ses données.
Voici le code de la macro en question:
Mais au lancement, j'ai une erreur d'exécution 1004:
Impossible de définir la propriété de Locked dans la classe Range.
Et ensuite il pointe vers la ligne où je tente de verrouiller la cellule.
Quelqu'un a une idée?
Merci infiniment,
Charles
Dans le cadre de la réalisation d'une petite application de suivi, j'ai une macro qui me copie une feuille exemple ("SPL") 52 fois, une fois que c'est fait, il efface la feuille SPL.
Avant de lancer la macro, l'utilisateur doit remplir la cellule C2, qui sera reprise plus loin dans la macro afin de récupérer son contenu et de le répéter sur chaque nouvelle feuille.
Cette cellule C2 n'est pas protégée, et donc modifiable par la suite.
Ce que j'aimerais, c'est de vérifier que l'utilisateur a bien inséré une donnée dans cette cellule, et si c'est le cas, verrouiller la cellule en question.
Dans le cas contraire, l'inviter à saisir une donnée avant de poursuivre dans la macro, c'est à dire avant de copier la feuille SPL 52 fois.
Pour lancer la macro, l'utilisateur doit cliquer une image après avoir saisi ses données.
Voici le code de la macro en question:
Code:
Sub Launcher()
ThisWorkbook.Worksheets(1).Cells(2, 3).Locked = True
Dim D As Date, L As Long, T As String, S As String, A As String
T = "Planning STI "
S = " semaine "
A = ThisWorkbook.Worksheets(1).Cells(2, 3).Value
For L = 1 To 52
D = DateSerial(2010, 1, 1 + (L - 1) * 7)
Worksheets(2).Copy _
After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = L
ActiveSheet.Cells(1, 1).Value = T & A & S & L
Next
Application.DisplayAlerts = False
Worksheets("SPL").Delete
Application.DisplayAlerts = True
End Sub
Mais au lancement, j'ai une erreur d'exécution 1004:
Impossible de définir la propriété de Locked dans la classe Range.
Et ensuite il pointe vers la ligne où je tente de verrouiller la cellule.
Quelqu'un a une idée?
Merci infiniment,
Charles