OVH Cloud OVH Cloud

Déclencher action quand changement occurence dans champ page TCD

19 réponses
Avatar
JPMonnier
Bonjour,
Excel 2000
Dans un TCD, au changement de valeur dans le champ page, je souhaite appeler
une sub
Style Private Sub Worksheet_Change(ByVal Target As Range)
Pourriez vous m'indiquer la procédure pour appeler une sub dès ce changement
?
Merci d'avance

--
Cordialement
jpmonnier-nospam@neuf.fr

9 réponses

1 2
Avatar
Daniel.C
Bonsoir Denis.
Merci. C'est bien possible; c'est quoi, ta version, JP ? J'ai testé
avec XL2003 et XL2007.
Daniel

Comme ça en passant,

Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne



Je pense que vous ne devez pas travailler sur la même version.
Par exemple, sous Excel 2000, l'événement "Change" n'est pas
appelé à partir d'un changement dans une cellule si ce dernier
a été fait à partir d'une liste de validation. Cependant sous excel
2003 et 2007, l'événement réagit...

Si ça put aider à votre cheminement de la discussion ...!



"Daniel.C" a écrit dans le message de groupe de
discussion : #
Si ton TCD commence en A1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1, 2).Address = "$B$1" Then
MsgBox "a"
End If
End Sub
Daniel

Ce n'est pas le msgbox qui ne fonctionne pas j'explique :
Si je mets un point d'arrêt (F9) sur la Private Sub, il ne passe pas dessus
quand je sélectionne une occurrence différente en B1
Si je simule une modif par F2 en B1, il passe bien sur la private sub !
--
Cordialement


"Daniel.C" a écrit dan
s le message de news:
Ca fonctionne chez moi. Essaie avec MsgBox "a".
Daniel

Merci Daniel,
j'avais écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("$B$1") Then 'B1 étant le champ page de mon TCD
MsgBox a
End If
End Sub
Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne
Là est mon problème
Merci encore
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Précisement Private Sub Worksheet_Change(ByVal Target As Range) limité à
la cellule du champ de page.
Cordialement.
Daniel

Bonjour,
Excel 2000
Dans un TCD, au changement de valeur dans le champ page, je souhaite
appeler une sub
Style Private Sub Worksheet_Change(ByVal Target As Range)
Pourriez vous m'indiquer la procédure pour appeler une sub dès ce
changement ?
Merci d'avance
















Avatar
JPMonnier
Oui c'est bien XL2000
--
Cordialement

"Daniel.C" a écrit dans le message de
news:Ofa%
Bonsoir Denis.
Merci. C'est bien possible; c'est quoi, ta version, JP ? J'ai testé avec
XL2003 et XL2007.
Daniel

Comme ça en passant,

Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne



Je pense que vous ne devez pas travailler sur la même version.
Par exemple, sous Excel 2000, l'événement "Change" n'est pas
appelé à partir d'un changement dans une cellule si ce dernier
a été fait à partir d'une liste de validation. Cependant sous excel
2003 et 2007, l'événement réagit...

Si ça put aider à votre cheminement de la discussion ...!



"Daniel.C" a écrit dans le message de groupe
de discussion : #
Si ton TCD commence en A1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1, 2).Address = "$B$1" Then
MsgBox "a"
End If
End Sub
Daniel

Ce n'est pas le msgbox qui ne fonctionne pas j'explique :
Si je mets un point d'arrêt (F9) sur la Private Sub, il ne passe pas
dessus
quand je sélectionne une occurrence différente en B1
Si je simule une modif par F2 en B1, il passe bien sur la private sub !
--
Cordialement


"Daniel.C" a écrit dan
s le message de news:
Ca fonctionne chez moi. Essaie avec MsgBox "a".
Daniel

Merci Daniel,
j'avais écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("$B$1") Then 'B1 étant le champ page de mon TCD
MsgBox a
End If
End Sub
Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne
Là est mon problème
Merci encore
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Précisement Private Sub Worksheet_Change(ByVal Target As Range)
limité à
la cellule du champ de page.
Cordialement.
Daniel

Bonjour,
Excel 2000
Dans un TCD, au changement de valeur dans le champ page, je souhaite
appeler une sub
Style Private Sub Worksheet_Change(ByVal Target As Range)
Pourriez vous m'indiquer la procédure pour appeler une sub dès ce
changement ?
Merci d'avance



















Avatar
Daniel.C
Sinon, dans un module standard :
Public Res
et dans le module feuille :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
'Ta macro
Res = [B1]
End If
End Sub
Daniel

Comme ça en passant,

Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne



Je pense que vous ne devez pas travailler sur la même version.
Par exemple, sous Excel 2000, l'événement "Change" n'est pas
appelé à partir d'un changement dans une cellule si ce dernier
a été fait à partir d'une liste de validation. Cependant sous excel
2003 et 2007, l'événement réagit...

Si ça put aider à votre cheminement de la discussion ...!



"Daniel.C" a écrit dans le message de groupe de
discussion : #
Si ton TCD commence en A1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1, 2).Address = "$B$1" Then
MsgBox "a"
End If
End Sub
Daniel

Ce n'est pas le msgbox qui ne fonctionne pas j'explique :
Si je mets un point d'arrêt (F9) sur la Private Sub, il ne passe pas dessus
quand je sélectionne une occurrence différente en B1
Si je simule une modif par F2 en B1, il passe bien sur la private sub !
--
Cordialement


"Daniel.C" a écrit dan
s le message de news:
Ca fonctionne chez moi. Essaie avec MsgBox "a".
Daniel

Merci Daniel,
j'avais écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("$B$1") Then 'B1 étant le champ page de mon TCD
MsgBox a
End If
End Sub
Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne
Là est mon problème
Merci encore
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Précisement Private Sub Worksheet_Change(ByVal Target As Range) limité à
la cellule du champ de page.
Cordialement.
Daniel

Bonjour,
Excel 2000
Dans un TCD, au changement de valeur dans le champ page, je souhaite
appeler une sub
Style Private Sub Worksheet_Change(ByVal Target As Range)
Pourriez vous m'indiquer la procédure pour appeler une sub dès ce
changement ?
Merci d'avance
















Avatar
JPMonnier
Ca fonctionne bien, mais ça m'exécute 2 fois ma procédure

Merci beaucoup
--
Cordialement


"Daniel.C" a écrit dans le message de
news:e5Tp%
Sinon, dans un module standard :
Public Res
et dans le module feuille :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
'Ta macro
Res = [B1]
End If
End Sub
Daniel

Comme ça en passant,

Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne



Je pense que vous ne devez pas travailler sur la même version.
Par exemple, sous Excel 2000, l'événement "Change" n'est pas
appelé à partir d'un changement dans une cellule si ce dernier
a été fait à partir d'une liste de validation. Cependant sous excel
2003 et 2007, l'événement réagit...

Si ça put aider à votre cheminement de la discussion ...!



"Daniel.C" a écrit dans le message de groupe
de discussion : #
Si ton TCD commence en A1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1, 2).Address = "$B$1" Then
MsgBox "a"
End If
End Sub
Daniel

Ce n'est pas le msgbox qui ne fonctionne pas j'explique :
Si je mets un point d'arrêt (F9) sur la Private Sub, il ne passe pas
dessus
quand je sélectionne une occurrence différente en B1
Si je simule une modif par F2 en B1, il passe bien sur la private sub !
--
Cordialement


"Daniel.C" a écrit dan
s le message de news:
Ca fonctionne chez moi. Essaie avec MsgBox "a".
Daniel

Merci Daniel,
j'avais écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("$B$1") Then 'B1 étant le champ page de mon TCD
MsgBox a
End If
End Sub
Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne
Là est mon problème
Merci encore
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Précisement Private Sub Worksheet_Change(ByVal Target As Range)
limité à
la cellule du champ de page.
Cordialement.
Daniel

Bonjour,
Excel 2000
Dans un TCD, au changement de valeur dans le champ page, je souhaite
appeler une sub
Style Private Sub Worksheet_Change(ByVal Target As Range)
Pourriez vous m'indiquer la procédure pour appeler une sub dès ce
changement ?
Merci d'avance



















Avatar
Daniel.C
Ca dépend de ce que fait ta macro. Mets :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
Application.EnableEvents = False
'Ta macro
Res = [B1]
Application.EnableEvents = True
End If
End Sub
Daniel

Ca fonctionne bien, mais ça m'exécute 2 fois ma procédure

Merci beaucoup
--
Cordialement


"Daniel.C" a écrit dans le message de
news:e5Tp%
Sinon, dans un module standard :
Public Res
et dans le module feuille :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
'Ta macro
Res = [B1]
End If
End Sub
Daniel

Comme ça en passant,

Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne



Je pense que vous ne devez pas travailler sur la même version.
Par exemple, sous Excel 2000, l'événement "Change" n'est pas
appelé à partir d'un changement dans une cellule si ce dernier
a été fait à partir d'une liste de validation. Cependant sous excel
2003 et 2007, l'événement réagit...

Si ça put aider à votre cheminement de la discussion ...!



"Daniel.C" a écrit dans le message de groupe de
discussion : #
Si ton TCD commence en A1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1, 2).Address = "$B$1" Then
MsgBox "a"
End If
End Sub
Daniel

Ce n'est pas le msgbox qui ne fonctionne pas j'explique :
Si je mets un point d'arrêt (F9) sur la Private Sub, il ne passe pas
dessus
quand je sélectionne une occurrence différente en B1
Si je simule une modif par F2 en B1, il passe bien sur la private sub !
--
Cordialement


"Daniel.C" a écrit dan
s le message de news:
Ca fonctionne chez moi. Essaie avec MsgBox "a".
Daniel

Merci Daniel,
j'avais écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("$B$1") Then 'B1 étant le champ page de mon TCD
MsgBox a
End If
End Sub
Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne
Là est mon problème
Merci encore
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Précisement Private Sub Worksheet_Change(ByVal Target As Range) limité
à
la cellule du champ de page.
Cordialement.
Daniel

Bonjour,
Excel 2000
Dans un TCD, au changement de valeur dans le champ page, je souhaite
appeler une sub
Style Private Sub Worksheet_Change(ByVal Target As Range)
Pourriez vous m'indiquer la procédure pour appeler une sub dès ce
changement ?
Merci d'avance





















Avatar
JPMonnier
C'est ce que j'avais ajouté,
ça doit tourner en boucle
car j'ai le message espace pile insuffisant
ma macro analyse 2 colonnes de données TCD pour ressortir les 2 meilleurs
temps Colonne Fille et colonne Garçon
que j'écris dans une autre feuille
ce qui fait que normalement elle ne traite qu'une dizaine de données
je ne vois pas ou ce traitement pourrait affecter mon champ page !
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Ca dépend de ce que fait ta macro. Mets :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
Application.EnableEvents = False
'Ta macro
Res = [B1]
Application.EnableEvents = True
End If
End Sub
Daniel

Ca fonctionne bien, mais ça m'exécute 2 fois ma procédure

Merci beaucoup
--
Cordialement


"Daniel.C" a écrit dans le message de
news:e5Tp%
Sinon, dans un module standard :
Public Res
et dans le module feuille :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
'Ta macro
Res = [B1]
End If
End Sub
Daniel

Comme ça en passant,

Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne



Je pense que vous ne devez pas travailler sur la même version.
Par exemple, sous Excel 2000, l'événement "Change" n'est pas
appelé à partir d'un changement dans une cellule si ce dernier
a été fait à partir d'une liste de validation. Cependant sous excel
2003 et 2007, l'événement réagit...

Si ça put aider à votre cheminement de la discussion ...!



"Daniel.C" a écrit dans le message de groupe
de discussion : #
Si ton TCD commence en A1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1, 2).Address = "$B$1" Then
MsgBox "a"
End If
End Sub
Daniel

Ce n'est pas le msgbox qui ne fonctionne pas j'explique :
Si je mets un point d'arrêt (F9) sur la Private Sub, il ne passe pas
dessus
quand je sélectionne une occurrence différente en B1
Si je simule une modif par F2 en B1, il passe bien sur la private sub
!
--
Cordialement


"Daniel.C" a écrit dan
s le message de news:
Ca fonctionne chez moi. Essaie avec MsgBox "a".
Daniel

Merci Daniel,
j'avais écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("$B$1") Then 'B1 étant le champ page de mon TCD
MsgBox a
End If
End Sub
Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne
Là est mon problème
Merci encore
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Précisement Private Sub Worksheet_Change(ByVal Target As Range)
limité à
la cellule du champ de page.
Cordialement.
Daniel

Bonjour,
Excel 2000
Dans un TCD, au changement de valeur dans le champ page, je
souhaite
appeler une sub
Style Private Sub Worksheet_Change(ByVal Target As Range)
Pourriez vous m'indiquer la procédure pour appeler une sub dès ce
changement ?
Merci d'avance

























Avatar
JPMonnier
désolé, j'avais déjà un Application.EnableEvents = True dans ma proc
je l'ai viré, mais elle tourne quand même 2 fois

--
Cordialement

"JPMonnier" a écrit dans le message de
news:
C'est ce que j'avais ajouté,
ça doit tourner en boucle
car j'ai le message espace pile insuffisant
ma macro analyse 2 colonnes de données TCD pour ressortir les 2 meilleurs
temps Colonne Fille et colonne Garçon
que j'écris dans une autre feuille
ce qui fait que normalement elle ne traite qu'une dizaine de données
je ne vois pas ou ce traitement pourrait affecter mon champ page !
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Ca dépend de ce que fait ta macro. Mets :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
Application.EnableEvents = False
'Ta macro
Res = [B1]
Application.EnableEvents = True
End If
End Sub
Daniel

Ca fonctionne bien, mais ça m'exécute 2 fois ma procédure

Merci beaucoup
--
Cordialement


"Daniel.C" a écrit dans le message de
news:e5Tp%
Sinon, dans un module standard :
Public Res
et dans le module feuille :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
'Ta macro
Res = [B1]
End If
End Sub
Daniel

Comme ça en passant,

Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne



Je pense que vous ne devez pas travailler sur la même version.
Par exemple, sous Excel 2000, l'événement "Change" n'est pas
appelé à partir d'un changement dans une cellule si ce dernier
a été fait à partir d'une liste de validation. Cependant sous excel
2003 et 2007, l'événement réagit...

Si ça put aider à votre cheminement de la discussion ...!



"Daniel.C" a écrit dans le message de
groupe de discussion : #
Si ton TCD commence en A1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1, 2).Address = "$B$1" Then
MsgBox "a"
End If
End Sub
Daniel

Ce n'est pas le msgbox qui ne fonctionne pas j'explique :
Si je mets un point d'arrêt (F9) sur la Private Sub, il ne passe pas
dessus
quand je sélectionne une occurrence différente en B1
Si je simule une modif par F2 en B1, il passe bien sur la private sub
!
--
Cordialement


"Daniel.C" a écrit dan
s le message de news:
Ca fonctionne chez moi. Essaie avec MsgBox "a".
Daniel

Merci Daniel,
j'avais écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("$B$1") Then 'B1 étant le champ page de mon TCD
MsgBox a
End If
End Sub
Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne
Là est mon problème
Merci encore
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Précisement Private Sub Worksheet_Change(ByVal Target As Range)
limité à
la cellule du champ de page.
Cordialement.
Daniel

Bonjour,
Excel 2000
Dans un TCD, au changement de valeur dans le champ page, je
souhaite
appeler une sub
Style Private Sub Worksheet_Change(ByVal Target As Range)
Pourriez vous m'indiquer la procédure pour appeler une sub dès ce
changement ?
Merci d'avance




























Avatar
Daniel.C
Difficile de dire pourquoi sans voir ton code.
A tout hasard :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
Application.EnableEvents = False
Res = [B1]
'Ta macro
Application.EnableEvents = True
End If
End Sub
Daniel

désolé, j'avais déjà un Application.EnableEvents = True dans ma proc
je l'ai viré, mais elle tourne quand même 2 fois

--
Cordialement

"JPMonnier" a écrit dans le message de
news:
C'est ce que j'avais ajouté,
ça doit tourner en boucle
car j'ai le message espace pile insuffisant
ma macro analyse 2 colonnes de données TCD pour ressortir les 2 meilleurs
temps Colonne Fille et colonne Garçon
que j'écris dans une autre feuille
ce qui fait que normalement elle ne traite qu'une dizaine de données
je ne vois pas ou ce traitement pourrait affecter mon champ page !
-- Cordialement


"Daniel.C" a écrit dans le message de
news:
Ca dépend de ce que fait ta macro. Mets :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
Application.EnableEvents = False
'Ta macro
Res = [B1]
Application.EnableEvents = True
End If
End Sub
Daniel

Ca fonctionne bien, mais ça m'exécute 2 fois ma procédure

Merci beaucoup
--
Cordialement


"Daniel.C" a écrit dans le message de
news:e5Tp%
Sinon, dans un module standard :
Public Res
et dans le module feuille :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
'Ta macro
Res = [B1]
End If
End Sub
Daniel

Comme ça en passant,

Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne



Je pense que vous ne devez pas travailler sur la même version.
Par exemple, sous Excel 2000, l'événement "Change" n'est pas
appelé à partir d'un changement dans une cellule si ce dernier
a été fait à partir d'une liste de validation. Cependant sous excel
2003 et 2007, l'événement réagit...

Si ça put aider à votre cheminement de la discussion ...!



"Daniel.C" a écrit dans le message de groupe
de discussion : #
Si ton TCD commence en A1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1, 2).Address = "$B$1" Then
MsgBox "a"
End If
End Sub
Daniel

Ce n'est pas le msgbox qui ne fonctionne pas j'explique :
Si je mets un point d'arrêt (F9) sur la Private Sub, il ne passe pas
dessus
quand je sélectionne une occurrence différente en B1
Si je simule une modif par F2 en B1, il passe bien sur la private sub
!
--
Cordialement


"Daniel.C" a écrit dan
s le message de news:
Ca fonctionne chez moi. Essaie avec MsgBox "a".
Daniel

Merci Daniel,
j'avais écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("$B$1") Then 'B1 étant le champ page de mon TCD
MsgBox a
End If
End Sub
Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne
Là est mon problème
Merci encore
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Précisement Private Sub Worksheet_Change(ByVal Target As Range)
limité à
la cellule du champ de page.
Cordialement.
Daniel

Bonjour,
Excel 2000
Dans un TCD, au changement de valeur dans le champ page, je
souhaite
appeler une sub
Style Private Sub Worksheet_Change(ByVal Target As Range)
Pourriez vous m'indiquer la procédure pour appeler une sub dès ce
changement ?
Merci d'avance






























Avatar
JPMonnier
Bonjour Daniel,
Pour éviter que ma proc se lance 2 fois, je passe par une Public variable
que je mets à x et que je teste dans ma proc
ça fonctionne bien
Merci encore pour ton aide
il y a vraiment des gens compétents et sérieux sur ce forum

--
Cordialement

"Daniel.C" a écrit dans le message de
news:e$
Difficile de dire pourquoi sans voir ton code.
A tout hasard :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
Application.EnableEvents = False
Res = [B1]
'Ta macro
Application.EnableEvents = True
End If
End Sub
Daniel

désolé, j'avais déjà un Application.EnableEvents = True dans ma proc
je l'ai viré, mais elle tourne quand même 2 fois

--
Cordialement

"JPMonnier" a écrit dans le message de
news:
C'est ce que j'avais ajouté,
ça doit tourner en boucle
car j'ai le message espace pile insuffisant
ma macro analyse 2 colonnes de données TCD pour ressortir les 2
meilleurs temps Colonne Fille et colonne Garçon
que j'écris dans une autre feuille
ce qui fait que normalement elle ne traite qu'une dizaine de données
je ne vois pas ou ce traitement pourrait affecter mon champ page !
-- Cordialement


"Daniel.C" a écrit dans le message de
news:
Ca dépend de ce que fait ta macro. Mets :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
Application.EnableEvents = False
'Ta macro
Res = [B1]
Application.EnableEvents = True
End If
End Sub
Daniel

Ca fonctionne bien, mais ça m'exécute 2 fois ma procédure

Merci beaucoup
--
Cordialement


"Daniel.C" a écrit dans le message de
news:e5Tp%
Sinon, dans un module standard :
Public Res
et dans le module feuille :
Private Sub Worksheet_Calculate()
If [B1] <> Res Then
'Ta macro
Res = [B1]
End If
End Sub
Daniel

Comme ça en passant,

Si je change la valeur de mon champ page avec la flèche de la liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne



Je pense que vous ne devez pas travailler sur la même version.
Par exemple, sous Excel 2000, l'événement "Change" n'est pas
appelé à partir d'un changement dans une cellule si ce dernier
a été fait à partir d'une liste de validation. Cependant sous
excel
2003 et 2007, l'événement réagit...

Si ça put aider à votre cheminement de la discussion ...!



"Daniel.C" a écrit dans le message de
groupe de discussion : #
Si ton TCD commence en A1 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1, 2).Address = "$B$1" Then
MsgBox "a"
End If
End Sub
Daniel

Ce n'est pas le msgbox qui ne fonctionne pas j'explique :
Si je mets un point d'arrêt (F9) sur la Private Sub, il ne passe
pas dessus
quand je sélectionne une occurrence différente en B1
Si je simule une modif par F2 en B1, il passe bien sur la private
sub !
--
Cordialement


"Daniel.C" a écrit dan
s le message de news:
Ca fonctionne chez moi. Essaie avec MsgBox "a".
Daniel

Merci Daniel,
j'avais écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("$B$1") Then 'B1 étant le champ page de mon TCD
MsgBox a
End If
End Sub
Si je change la valeur de mon champ page avec la flèche de la
liste
déroulante, ça ne passe pas sur la private sub !
Si je fais F2 entrée, ça fonctionne
Là est mon problème
Merci encore
--
Cordialement


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Précisement Private Sub Worksheet_Change(ByVal Target As Range)
limité à
la cellule du champ de page.
Cordialement.
Daniel

Bonjour,
Excel 2000
Dans un TCD, au changement de valeur dans le champ page, je
souhaite
appeler une sub
Style Private Sub Worksheet_Change(ByVal Target As Range)
Pourriez vous m'indiquer la procédure pour appeler une sub dès
ce
changement ?
Merci d'avance


































1 2