Ordre de priorité des modules

Le
Mima
Bonjour à la communauté

Dans un classeur, j'ai écrit des instructions pour une procédure
événementielle de type "double clic" au niveau classeur (thisWorkbook).
Cet évènement s'exécute correctement dans toutes les feuilles du classeur.
Le problème pour lequel je sollicite votre aide ce situe au niveau d'un
module de feuille.
Pour une feuille déterminé, j'ai une procédure "double clic" spécifique qui
fait un autre travail que celui de la procédure de niveau classeur.
Comment forcer Excel à donner la priorité à l'évènement de cette feuille et
qu'il exécute pas la procédure de niveau classeur ?
Merci pour vos sugestions et conseils
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
MichDenis
Le #19531621
Bonjour Mima,

Un fichier exemple :
http://cjoint.com/?gknlFnC63N

La feuille retenue pour les besoins de l'exemple est la "Feuil1"



"Mima"
Bonjour à la communauté

Dans un classeur, j'ai écrit des instructions pour une procédure
événementielle de type "double clic" au niveau classeur (thisWorkbook).
Cet évènement s'exécute correctement dans toutes les feuilles du classeur.
Le problème pour lequel je sollicite votre aide ce situe au niveau d'un
module de feuille.
Pour une feuille déterminé, j'ai une procédure "double clic" spécifique qui
fait un autre travail que celui de la procédure de niveau classeur.
Comment forcer Excel à donner la priorité à l'évènement de cette feuille et
qu'il exécute pas la procédure de niveau classeur ?
Merci pour vos sugestions et conseils
MichDenis
Le #19532541
Dans le ThisWorkbook, il faudrait remplacer cette
ligne de code :

"If Feuil1.Done Then Exit Sub"
Par :
If Feuil1.Done Then Feuil1.Done = False: Exit Sub



"MichDenis" #
Bonjour Mima,

Un fichier exemple :
http://cjoint.com/?gknlFnC63N

La feuille retenue pour les besoins de l'exemple est la "Feuil1"



"Mima"
Bonjour à la communauté

Dans un classeur, j'ai écrit des instructions pour une procédure
événementielle de type "double clic" au niveau classeur (thisWorkbook).
Cet évènement s'exécute correctement dans toutes les feuilles du classeur.
Le problème pour lequel je sollicite votre aide ce situe au niveau d'un
module de feuille.
Pour une feuille déterminé, j'ai une procédure "double clic" spécifique qui
fait un autre travail que celui de la procédure de niveau classeur.
Comment forcer Excel à donner la priorité à l'évènement de cette feuille et
qu'il exécute pas la procédure de niveau classeur ?
Merci pour vos sugestions et conseils
gmlsteph
Le #19532021
Bonjour,

Plutôt que de recourir au module de la Feuille en question tu peux
utiliser if ou un Select Case
s'il y a plusieurs feuilles à considérer différemment

Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Sh.CodeName = "Feuil3" Then
MsgBox "c'est celle ci"
'ou bien ici même le code pour cette feuille
Else
MsgBox "c 'est une autre"
'ou bien ici même le code pour les autres
End If

End Sub
'lSteph


On 10 juin, 12:34, "Mima"
Bonjour à la communauté

Dans un classeur, j'ai écrit des instructions pour une procédure
événementielle de type "double clic" au niveau classeur (thisWorkbook ).
Cet évènement s'exécute correctement dans toutes les feuilles du cl asseur.
Le problème pour lequel je sollicite votre aide ce situe au niveau d'un
module de feuille.
Pour une feuille déterminé, j'ai une procédure "double clic" spéc ifique qui
fait un autre travail que celui de la procédure de niveau classeur.
Comment forcer Excel à donner la priorité à l'évènement de cett e feuille et
qu'il exécute pas la procédure de niveau classeur ?
Merci pour vos sugestions et conseils


Mima
Le #19533091
Merci pour vos contributions.
Je vais essayer dans un premier temps la solution de MichDenis qui
correspond plus à la façon dont j'ai ordonné mon fichier, mais je retient
aussi la solution de qui a l'avantage de regrouper au
même endroit les différentes actions.
merci et a+



"Mima"
Bonjour à la communauté

Dans un classeur, j'ai écrit des instructions pour une procédure
événementielle de type "double clic" au niveau classeur (thisWorkbook).
Cet évènement s'exécute correctement dans toutes les feuilles du classeur.
Le problème pour lequel je sollicite votre aide ce situe au niveau d'un
module de feuille.
Pour une feuille déterminé, j'ai une procédure "double clic" spécifique
qui fait un autre travail que celui de la procédure de niveau classeur.
Comment forcer Excel à donner la priorité à l'évènement de cette feuille
et qu'il exécute pas la procédure de niveau classeur ?
Merci pour vos sugestions et conseils



MichDenis
Le #19533061
La meilleure solution, c'est celle qui simplifie l'écriture du code et son entretien par
la suite. Cela dépend des besoins de ton application ... les réponses ne sont que des
suggestions à partir de ta question...
Mima
Le #19533041
Effectivement ! Je viens d'assayer les deux solutions et j'ai retenu la
deuxième qui simplifie le code.
Merci encore


"MichDenis"
La meilleure solution, c'est celle qui simplifie l'écriture du code et son
entretien par
la suite. Cela dépend des besoins de ton application ... les réponses ne
sont que des
suggestions à partir de ta question...





Publicité
Poster une réponse
Anonyme