|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 335 ![]() |
Bonjour à tous,
Le principal est dans le titre... J'ai une feuille excel, dans laquelle certaine cellule ne doivent pas être modifier par l'utilisateur (mais les autres oui). Cependant j'ai un macro qui utilise ces cellules non modifiables en modifie d'autres. J'ai donc protégé mes cellules avec outils/Protection et ma macro me dit "Erreur d'éxécution 1004 : Impossible de définir la propriété ColorIndex de la classe Interior" Erreur que je n'ai pas lorsque mes cellules ne sont pas protégé. aprés de nombreuses recherches sur différents forum j'ai testé plusieurs codes consistant à déprotéger les cellules, éxécuter la macro, et reprotéger les cellules, mais sans succés .... avec le code : Code :
Code :
Worksheets("Feuil3").Protect userinterfaceonly:=True, Password:="pwd" Pour infos je voudrais bloquer la modification des cellules A4 à L53 uniquement ... Voici mon code dans son ensemble : Code :
__________________
---Fowlie--- |
||||
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() Inscription : décembre 2011 Messages : 566 ![]() |
Bonjour,
J'ai passer le code sur une feuille avec quelques valeurs en A:A sans reproduire le problème. Citation:
Peut être qu'avoir un exemple de contenu du fichier sera nécessaire également. |
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : janvier 2012 Messages : 3 ![]() |
Salut Fowlie
Utilise la fonction Dans tes macros et il n'y aura plus de problème BytesKey |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 335 ![]() |
Merci pour vos réponses,
@BytesKey : J'ai essayé et cette fois l'erreur est "Erreur de compilation : Référence incorrecte ou on qualifiée" @BlueMonkey : Lorsque je fais débogage, l'erreur d'éxécution 9 se trouve sur la ligne ou Code :
Worksheets("Feuil3").Protect userinterfaceonly:=True, Password:="pwd" Je ne peux pas fournir l'excel dans son ensemble, j'essai d'un refaire un test (avec l'erreur) et de vous le donner
__________________
---Fowlie--- |
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 313 ![]() |
Bonjour,
Erreur classique. Tu exécutes sans doute ton code avec un autre classeur ouvert et la feuille "Feuille3" n'est pas présente dans ce classeur. Ce code fonctionne parfaitement si la feuille nommée F1 existe et renvoie erreur 9 dans le cas contraire Code :
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
||
|
|
10
|
|
|
#6 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 335 ![]() |
je me sens stupide
![]() C'était bien la Feuil3 mais renomée "calcul", seulement dans visual basic comme c'est marqué Feuil3(Calcul) je pensais que vba comprendrais que je mette Feuil3 ... Visiblement non en tout cas merci beaucoup corona
__________________
---Fowlie--- |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 313 ![]() |
Ravi que ce soit résolu.
L'idéal est de bien structurer son programme. Cela évite des surprises. Déclarer ces variables objets en début de module et ne jamais oublier de déclarer explicitement Classeur et feuille utilisée pour éviter d'écrire par accident sur la feuille active qui ne serait pas celle souhaitée.
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com