Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ordre de priorité des modules

6 réponses
Avatar
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

6 réponses

Avatar
MichDenis
Bonjour Mima,

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

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



"Mima" a écrit dans le message de groupe de discussion :

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
Avatar
MichDenis
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" a écrit dans le message de groupe de discussion :
#
Bonjour Mima,

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

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



"Mima" a écrit dans le message de groupe de discussion :

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
Avatar
gmlsteph
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" wrote:
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


Avatar
Mima
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" a écrit dans le message de news:

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



Avatar
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...
Avatar
Mima
Effectivement ! Je viens d'assayer les deux solutions et j'ai retenu la
deuxième qui simplifie le code.
Merci encore


"MichDenis" a écrit dans le message de news:

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...