Comment éxécuter une macro sur des cellules verrouiller?

Le
albadgones68
Bonjour,
Je vient solicité votre aide sur excel,
Voila j'ai créé un tableau de donnés. Et ensuite fais une macro pour le
triage de ces donnés. Une fois le tableau rempli, j'ai verrouiller les
cellules que je veut bloquer en écriture. Mais une fois sa fais, la macro ne
marche plus puisqu'elle concerne les cellules verouillées. Comment faire pour
régler ce problème.

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FdeCourt
Le #21460991
Salut,

Protège ta feuille par macro en mettant ce paramètre :
UserInterfaceOnly:=True, par exemple :
ActiveSheet.Protect UserInterfaceOnly:=True

Cordialement,

F.
michdenis
Le #21461181
Bonjour,

Pour pouvoir exécuter des macros sur des feuilles de calcul protégées,
tu dois utiliser l'événement Workbook_Open situé dans le ThisWorkbook
de ton classeur. La procédure ressemble à ceci :

Dans le ThisWorkbook
Évidemment, tu dois remplacer "NomDeLaFeuille" et "MotDePasse"
par ceux de ton application.
Comme la macro s'exécute à l'ouverture du fichier, ferme et rouvre
à nouveau pour obtenir le résultat désiré.
Dans cette procédure, c'est le paramètre UserInterfaceOnly qui fait toute
la différence... voir l'aide d'Excel sur le sujet
'------------------------------------------
Private Sub Workbook_Open()

With Worksheets("NomDeLaFeuille")
.Protect "MotDePasse", DrawingObjects:=True, _
Contents:=True, Scenarios:=True, _
UserInterfaceOnly:=True
End With

End Sub
'------------------------------------------

Une autre alternative serait d'utiliser la macro suivante dans
un module standard :

L'avantage de celle-ci, c'est qu'une macro "Auto_Open"
s'exécute toujours à l'ouverture du fichier et elle n'est pas
soumise à la désactivation des macros événementielles
lorsque l'on utilise cette ligne de code par exemple :
Application.EnableEvents = False
En conséquence, elle s'exécute toujours sauf si on désactive
l'usage des macros à l'ouverture du classeur.
'------------------------------------------
Sub Auto_Open()

With Worksheets("NomDeLaFeuille")
.Protect "MotDePasse", DrawingObjects:=True, _
Contents:=True, Scenarios:=True, _
UserInterfaceOnly:=True
End With

End Sub
'---------------------------------------------


"albadgones68" de discussion :
Bonjour,
Je vient solicité votre aide sur excel,
Voila j'ai créé un tableau de donnés. Et ensuite fais une macro pour le
triage de ces donnés. Une fois le tableau rempli, j'ai verrouiller les
cellules que je veut bloquer en écriture. Mais une fois sa fais, la macro ne
marche plus puisqu'elle concerne les cellules verouillées. Comment faire pour
régler ce problème.

Merci d'avance
enckys Hors ligne
Le #24777352
Le lundi 29 Mars 2010 à 15:31 par albadgones68 :
Bonjour,
Je vient solicité votre aide sur excel,
Voila j'ai créé un tableau de donnés. Et ensuite fais une
macro pour le
triage de ces donnés. Une fois le tableau rempli, j'ai verrouiller les
cellules que je veut bloquer en écriture. Mais une fois sa fais, la
macro ne
marche plus puisqu'elle concerne les cellules verouillées. Comment faire
pour
régler ce problème.

Merci d'avance


Merci michdenis pour ton temps et ces quelqpues lignes qui m'ont sauvé :)

Private Sub Workbook_Open()

With Worksheets("NomDeLaFeuille")
.Protect "MotDePasse", DrawingObjects:=True, _
Contents:=True, Scenarios:=True, _
UserInterfaceOnly:=True
End With

End Sub

Regards
enckys
Publicité
Poster une réponse
Anonyme