![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: septembre 2005
Messages: 24
|
Bonjour le forum...!
me voila bien embetté avec le problème suivant... J'ai un fichier dont certaines cellules sont protégées afin que leur contenu ne soit modifiable que par des macros en background (appel de user form entre autres). Les macros impliquées ont donc un activesheet.unprotect au debut et un .protect a la fin... Mais j'ai un soucis avec la procédure worksheet.change : en effet celle-ci est appellée soit lorsque l'utisateur modifie "en direct" le contenu d'une des cellules non-protégées, soit lorsque une des autres procédures a modifié le contenu d'une cellule. Dans le premier cas j'ai besoin d'un .unprotect au debut et d'un .protect a la fin, mais dans le deuxieme cas le .protect à la fin ne m'arrange pas car mon autre procédure en cours a encore des modifs à faire dans bien des cas... Je cherche donc un test dans ma procédure worksheet.change du genre "si telle macro est en cours alors pas de protection a la fin, sinon protège la feuille à la fin de ma procédure...". J'ai tenté avec un flag booléen en prenant soit de définir mes autres procédures en static, mais ca ne marche pas... Par avance merci, j'espère avoir été clair... |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: juillet 2006
Localisation: Montlhéry
Version Excel : Excel 2000 (PC)
Messages: 341
|
salut benouboy,
une piste à explorer pour ton souci : avec la propriété Application.EnableEvents
__________________
Kobaya. Aime la vérité, mais pardonne l'erreur Voltaire |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: septembre 2005
Messages: 24
|
Salut Kobaya, le forum,
Merci à toi, bonne idée, je ne connaissais pas cette méthode... Mais! (désolé) en l'occurence, je voudrais quand même lancer mon Sub Worksheet.Change lorsque qu'une autre macro fait une modif... donc ta piste ne semble pas me convenir ici... Une autre idée ? Comment faire par exemple pour qu'un flag booleen attribué dans ma macro active puisse être testé dans mon worksheet.change? Par avance merci! |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 097
|
Bonjour Benouboy, Kobaya, le Forum
Regarde ce fil que je viens d'avoir avec Max.... Programmation d'un bouton Toggle Tu verras comment je m'y prends pour un problème quasi-similaire au tien et sans ce fameux Application.EnableEvents = False ... Bon Appétit @+Thierry |
|
|
|
|
|
#5 (permalink) |
|
Super Moderator
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 8 078
|
Bonjour
Juste une petite incursion pour saluer Thierry et lui dire que cela fait plaisir de le revoir sur des fils. Ah ce fameux .... Application.EnableEvents = False Il en a fait couler de l'encre ou du moins taper sur un clavier ![]() Bon appétit
__________________
Pascal(Visitez mon Blog Photo)Vous pouvez devenir "Supporter XLD", plus de renseignements ICI |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: juin 2006
Localisation: Saint-Denis de La Réunion
Version Excel : Excel 2000 (PC)
Messages: 120
|
Bonjour les garçons,
Je ne suis pas sur d'avoir compris la prose de benouboy, mais tu peux déclarer une variable Public dans le début d'un module (du genre MaMacroTourne). Tu inities cette variable à False. Dès que ta macro (ou tes macros) se déclenche(nt) tu passes MaMacroTourne = True. Après dans ton worksheet.change, il te suffit de mettre à la fin un test if MaMacroTourne then pas de protection sinon protection Il ne faut pas oublier de remettre en fin de macro MaMacroTourne à False C'est juste ?
__________________
"Ti hache, i coup' grand bois !" Papaye |
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: septembre 2005
Messages: 24
|
Ayé!
Grâce à vos bons conseils, j'ai enfin pu utiliser mon flag (d'une manière analogue à la méthode Thierry)... Ce qui me manquait tout simplement c'est le fameux : Public Running As Boolean Je me coucherai donc moins bête ce soir, merci a vous!!!! |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 097
|
Bonjour Pascal, Papaye, re le Fil le Forum
Merci Pascal, et oui la Tournée des R.S. m'a pris un peu de temps !!! lol Mais maintenant je reviens un peu sur XLD... Et ça me fait également très plaisir de te recroiser ! Oui Papaye, c'est bien celà, c'est d'ailleurs tout à fait et complètement documenté dans le lien sur le fil que j'ai mis... Bon App à tous ! @+Thierry |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: juin 2006
Localisation: Saint-Denis de La Réunion
Version Excel : Excel 2000 (PC)
Messages: 120
|
Ok, ok ... La Papaye n'est pas toujours très fraîche !
__________________
"Ti hache, i coup' grand bois !" Papaye |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Macro VBA qui ne tourne pas | baptbapt | Forum Excel | 12 | 05/07/2006 10h35 |
| re: tourne en boucle | francky | Forum Excel | 11 | 03/12/2005 11h34 |
| tourne en boucle | francky | Forum Excel | 2 | 30/11/2005 01h02 |
| boucle qui ne tourne pas | amel | Forum Excel | 14 | 08/07/2005 11h45 |
| Si alors sinon en couleur | Lucien | Forum Excel Downloads - Archives | 3 | 10/03/2004 16h08 |