Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 17/08/2006, 11h36   #1 (permalink)
XLDnaute Nouveau
 
Date d'inscription: septembre 2005
Messages: 24
Par défaut si telle_macro tourne alors, sinon...

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...
benouboy est déconnecté   Réponse avec citation
ANNONCES
Vieux 17/08/2006, 11h49   #2 (permalink)
XLDnaute Occasionel
 
Date d'inscription: juillet 2006
Localisation: Montlhéry
Version Excel : Excel 2000 (PC)
Messages: 341
Par défaut Re : si telle_macro tourne alors, sinon...

salut benouboy,

une piste à explorer pour ton souci : avec la propriété Application.EnableEvents
__________________
Kobaya.

Aime la vérité, mais pardonne l'erreur
Voltaire
Kobaya est déconnecté   Réponse avec citation
Vieux 17/08/2006, 12h10   #3 (permalink)
XLDnaute Nouveau
 
Date d'inscription: septembre 2005
Messages: 24
Par défaut Re : si telle_macro tourne alors, sinon...

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!
benouboy est déconnecté   Réponse avec citation
Vieux 17/08/2006, 12h18   #4 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 097
Par défaut Re : si telle_macro tourne alors, sinon...

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
_Thierry est déconnecté   Réponse avec citation
Vieux 17/08/2006, 12h21   #5 (permalink)
Super Moderator
 
Avatar de PascalXLD
 
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 8 078
Par défaut Re : si telle_macro tourne alors, sinon...

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
PascalXLD est connecté maintenant   Réponse avec citation
Vieux 17/08/2006, 12h22   #6 (permalink)
XLDnaute Occasionel
 
Avatar de Papaye
 
Date d'inscription: juin 2006
Localisation: Saint-Denis de La Réunion
Version Excel : Excel 2000 (PC)
Messages: 120
Par défaut Re : si telle_macro tourne alors, sinon...

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
Papaye est déconnecté   Réponse avec citation
Vieux 17/08/2006, 12h55   #7 (permalink)
XLDnaute Nouveau
 
Date d'inscription: septembre 2005
Messages: 24
Par défaut Re : si telle_macro tourne alors, sinon...

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!!!!
benouboy est déconnecté   Réponse avec citation
Vieux 17/08/2006, 12h56   #8 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 097
Par défaut Re : si telle_macro tourne alors, sinon...

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
_Thierry est déconnecté   Réponse avec citation
Vieux 17/08/2006, 20h39   #9 (permalink)
XLDnaute Occasionel
 
Avatar de Papaye
 
Date d'inscription: juin 2006
Localisation: Saint-Denis de La Réunion
Version Excel : Excel 2000 (PC)
Messages: 120
Par défaut Re : si telle_macro tourne alors, sinon...

Ok, ok ... La Papaye n'est pas toujours très fraîche !
__________________
"Ti hache, i coup' grand bois !"
Papaye
Papaye est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

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


Fuseau horaire GMT +2. Il est actuellement 22h39.


(C) 2006 Excel Downloads