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

Pb macro evenementielle

6 réponses
Avatar
stef.dubois
Bonjour,
Grace =E0 papou (merci =E0 lui) sur ce forum, j'ai pu ecrire la macro
suivante :
Dans 1 classeur excel2003,elle me permet d'aller directement sur
l'onglet du meme nom que je tape dans la cellule L9 (menu deroulant):
Pour precision, L9:N9 sont fusionn=E9s et la cellule contient le menu
deroulant.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address =3D Range("$L$9") And _
[L9] <> "" Then
Sheets(Target.Value).Select
End If
End Sub

Le probl=E8me que je rencontre:
Ce meme classeur comporte un lien vers un autre classeur.
quand ces 2 classeurs se trouvent ouvert, la macro ne declenche
plus !

Est-ce que quelqu'un peut m'apporter son aide pour faire evoluer ce
code afin qu'il fonctionne =E0 chaque fois.
Je ne comprends pas pourquoil 'ouverture du 2eme classeur pertube la
macro evenementielle?!
Merci par avance.

SD

6 réponses

Avatar
stef.dubois
On 25 jan, 08:00, wrote:
Bonjour,
Grace à papou (merci à lui) sur ce forum, j'ai pu ecrire  la macro
suivante :
Dans 1 classeur excel2003,elle me permet d'aller directement sur
l'onglet du meme nom que je tape dans la cellule L9 (menu deroulant):
Pour precision, L9:N9 sont fusionnés et la cellule contient le menu
deroulant.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range("$L$9") And _
    [L9] <> "" Then
    Sheets(Target.Value).Select
End If
End Sub

Le problème que je rencontre:
Ce meme classeur comporte un lien vers un autre classeur.
quand ces 2 classeurs se trouvent ouvert, la macro ne declenche
plus !

Est-ce que quelqu'un peut m'apporter son aide pour faire evoluer ce
code afin qu'il fonctionne à chaque fois.
Je ne comprends pas pourquoil 'ouverture du 2eme classeur pertube la
macro evenementielle?!
Merci par avance.

SD


Désolé, une erreur de ma part dans la recopie de la macro evenement:
If Target.Address = "$L$9" And _
[L9] <> "" Then
Sheets(Target.Value).Select
End If
End Sub

Mais le pb demeure...

Avatar
LSteph
Bonjour,

cette macro située dans thisworkbook opèrera dans n'importe laquelle de
ses feuilles sur changement de L9 et sous réserve que seul L9 soit
sélectionné lors de la saisie et ne soit pas vide.


Si tu ouvres un autre classeur, les feuilles de l'autre classeur ne sont
pas concernées.
Si tu reviens sur ton premier classeur les feuilles de celui-ci elles,
réagiront comme il se doit.

Si tel n'est pas le cas, c'est que l'ouverture de cet autre classeur
aurait faculté à désactiver les procédures évènementielles dans
l'application...
..!?

contient-il lui même des macros?

@+

--
lSteph

Bonjour,
Grace à papou (merci à lui) sur ce forum, j'ai pu ecrire la macro
suivante :
Dans 1 classeur excel2003,elle me permet d'aller directement sur
l'onglet du meme nom que je tape dans la cellule L9 (menu deroulant):
Pour precision, L9:N9 sont fusionnés et la cellule contient le menu
deroulant.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range("$L$9") And _
[L9] <> "" Then
Sheets(Target.Value).Select
End If
End Sub

Le problème que je rencontre:
Ce meme classeur comporte un lien vers un autre classeur.
quand ces 2 classeurs se trouvent ouvert, la macro ne declenche
plus !

Est-ce que quelqu'un peut m'apporter son aide pour faire evoluer ce
code afin qu'il fonctionne à chaque fois.
Je ne comprends pas pourquoil 'ouverture du 2eme classeur pertube la
macro evenementielle?!
Merci par avance.

SD


Avatar
papou
Bonjour
Bizarre ton affaire !
Pas moyen sur mon Excel 2003 de reproduire ce problème en ouvrant un
deuxième classeur...

Par contre, Stéphane (LSteph) m'a donné une autre idée : pour plus de
sûreté, positionne plutôt ça dans Thisworkbook.
Tu doubles-cliques sur l'élément Thisworkbook dans Microsoft Excel Objets et
tu colles ce code en adaptant avec le nom de la feuille (ici Feuil1) sur
laquelle tu saisis :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Feuil1" And Target.Address = "$L$9" And _
[L9] <> "" Then
Worksheets(Target.Value).Select
End If
End Sub

Cordialement
Pascal

a écrit dans le message de news:

On 25 jan, 08:00, wrote:
Bonjour,
Grace à papou (merci à lui) sur ce forum, j'ai pu ecrire la macro
suivante :
Dans 1 classeur excel2003,elle me permet d'aller directement sur
l'onglet du meme nom que je tape dans la cellule L9 (menu deroulant):
Pour precision, L9:N9 sont fusionnés et la cellule contient le menu
deroulant.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range("$L$9") And _
[L9] <> "" Then
Sheets(Target.Value).Select
End If
End Sub

Le problème que je rencontre:
Ce meme classeur comporte un lien vers un autre classeur.
quand ces 2 classeurs se trouvent ouvert, la macro ne declenche
plus !

Est-ce que quelqu'un peut m'apporter son aide pour faire evoluer ce
code afin qu'il fonctionne à chaque fois.
Je ne comprends pas pourquoil 'ouverture du 2eme classeur pertube la
macro evenementielle?!
Merci par avance.

SD


Désolé, une erreur de ma part dans la recopie de la macro evenement:
If Target.Address = "$L$9" And _
[L9] <> "" Then
Sheets(Target.Value).Select
End If
End Sub

Mais le pb demeure...

Avatar
LSteph
... euh ! effectivement j'ai lu vite et pensé Workbook_SheetChange
mais à bien regarder c'était simplement Worksheet_change donc dans le
code de la feuille et juste celle là donc,
reste qu'avoir ouvert par ailleurs un autre classeur ne devrait rien
entraver sauf cas que j'evoquais

aurait faculté à désactiver les procédures évènementielles...
contient-il lui même des macros?






Bonjour,

cette macro située dans thisworkbook opèrera dans n'importe laquelle de
ses feuilles sur changement de L9 et sous réserve que seul L9 soit
sélectionné lors de la saisie et ne soit pas vide.


Si tu ouvres un autre classeur, les feuilles de l'autre classeur ne sont
pas concernées.
Si tu reviens sur ton premier classeur les feuilles de celui-ci elles,
réagiront comme il se doit.

Si tel n'est pas le cas, c'est que l'ouverture de cet autre classeur
aurait faculté à désactiver les procédures évènementielles dans
l'application...
..!?

contient-il lui même des macros?

@+

--
lSteph

Bonjour,
Grace à papou (merci à lui) sur ce forum, j'ai pu ecrire la macro
suivante :
Dans 1 classeur excel2003,elle me permet d'aller directement sur
l'onglet du meme nom que je tape dans la cellule L9 (menu deroulant):
Pour precision, L9:N9 sont fusionnés et la cellule contient le menu
deroulant.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range("$L$9") And _
[L9] <> "" Then
Sheets(Target.Value).Select
End If
End Sub

Le problème que je rencontre:
Ce meme classeur comporte un lien vers un autre classeur.
quand ces 2 classeurs se trouvent ouvert, la macro ne declenche
plus !

Est-ce que quelqu'un peut m'apporter son aide pour faire evoluer ce
code afin qu'il fonctionne à chaque fois.
Je ne comprends pas pourquoil 'ouverture du 2eme classeur pertube la
macro evenementielle?!
Merci par avance.

SD




Avatar
stef.dubois
On 25 jan, 19:43, LSteph wrote:
... euh ! effectivement j'ai lu vite et pensé Workbook_SheetChange
mais à bien regarder c'était simplement Worksheet_change donc dans le
code de la feuille et juste celle là donc,
reste qu'avoir ouvert par ailleurs un autre classeur ne devrait rien
entraver sauf cas que j'evoquais

aurait faculté à désactiver les procédures évènementielles. ..
contient-il lui même des macros?






Bonjour,

cette macro située dans thisworkbook  opèrera dans n'importe laque lle de
ses feuilles sur changement de L9 et sous réserve que seul L9 soit
sélectionné lors de la saisie et ne soit pas vide.

Si tu ouvres un autre classeur, les feuilles de l'autre classeur ne sont
pas concernées.
Si tu reviens sur ton premier classeur les feuilles de celui-ci elles,
réagiront comme il se doit.

Si tel n'est pas le cas, c'est que l'ouverture de cet autre classeur
aurait faculté à désactiver les procédures évènementielles d ans
l'application...
..!?

contient-il lui même des macros?

@+

--
lSteph

Bonjour,
Grace à papou (merci à lui) sur ce forum, j'ai pu ecrire  la macr o
suivante :
Dans 1 classeur excel2003,elle me permet d'aller directement sur
l'onglet du meme nom que je tape dans la cellule L9 (menu deroulant):
Pour precision, L9:N9 sont fusionnés et la cellule contient le menu
deroulant.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range("$L$9") And _
    [L9] <> "" Then
    Sheets(Target.Value).Select
End If
End Sub

Le problème que je rencontre:
Ce meme classeur comporte un lien vers un autre classeur.
quand ces 2 classeurs se trouvent ouvert, la macro ne declenche
plus !

Est-ce que quelqu'un peut m'apporter son aide pour faire evoluer ce
code afin qu'il fonctionne à chaque fois.
Je ne comprends pas pourquoil 'ouverture du 2eme classeur pertube la
macro evenementielle?!
Merci par avance.

SD- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -


Merci L.Steph pour tes precisions.
Effectivement,dans l'autre classeur que j'ouvre, il y a des macros.
Et je commence à penser que c'est la le pb, suite au x differents
retour que j'ai eu sur le forum.
J'ai notamment des macros à l'ouverture de l'autre classeur qui gene
peut etre
le declenchement de la macro evenment.
Je fais essayer de faire du "pas à pas" en supprimant progressivement
les macros
pour voir ou ça bloque.
SD



Avatar
LSteph
Bonjour,

Pour gagner peut-être du temps vérifie si tu as une instruction

end

ou

application.enableeventsúlse
avec un exit sub ou autre qui sortirait
avant de rencontrer
application.enableevents=true

;-) au fait profites-en ici on répond au-dessus
cela évite de tout défiler.

--
lSteph


On 25 jan, 19:43, LSteph wrote:
... euh ! effectivement j'ai lu vite et pensé Workbook_SheetChange
mais à bien regarder c'était simplement Worksheet_change donc dans le
code de la feuille et juste celle là donc,
reste qu'avoir ouvert par ailleurs un autre classeur ne devrait rien
entraver sauf cas que j'evoquais

aurait faculté à désactiver les procédures évènementielles...
contient-il lui même des macros?





Bonjour,
cette macro située dans thisworkbook opèrera dans n'importe laquelle de
ses feuilles sur changement de L9 et sous réserve que seul L9 soit
sélectionné lors de la saisie et ne soit pas vide.
Si tu ouvres un autre classeur, les feuilles de l'autre classeur ne sont
pas concernées.
Si tu reviens sur ton premier classeur les feuilles de celui-ci elles,
réagiront comme il se doit.
Si tel n'est pas le cas, c'est que l'ouverture de cet autre classeur
aurait faculté à désactiver les procédures évènementielles dans
l'application...
..!?
contient-il lui même des macros?
@+
--
lSteph
Bonjour,
Grace à papou (merci à lui) sur ce forum, j'ai pu ecrire la macro
suivante :
Dans 1 classeur excel2003,elle me permet d'aller directement sur
l'onglet du meme nom que je tape dans la cellule L9 (menu deroulant):
Pour precision, L9:N9 sont fusionnés et la cellule contient le menu
deroulant.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("$L$9") And _
[L9] <> "" Then
Sheets(Target.Value).Select
End If
End Sub
Le problème que je rencontre:
Ce meme classeur comporte un lien vers un autre classeur.
quand ces 2 classeurs se trouvent ouvert, la macro ne declenche
plus !
Est-ce que quelqu'un peut m'apporter son aide pour faire evoluer ce
code afin qu'il fonctionne à chaque fois.
Je ne comprends pas pourquoil 'ouverture du 2eme classeur pertube la
macro evenementielle?!
Merci par avance.
SD- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -




Merci L.Steph pour tes precisions.
Effectivement,dans l'autre classeur que j'ouvre, il y a des macros.
Et je commence à penser que c'est la le pb, suite au x differents
retour que j'ai eu sur le forum.
J'ai notamment des macros à l'ouverture de l'autre classeur qui gene
peut etre
le declenchement de la macro evenment.
Je fais essayer de faire du "pas à pas" en supprimant progressivement
les macros
pour voir ou ça bloque.
SD