Déclencher action quand changement occurence dans champ page TCD

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #18598911
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


JPMonnier
Le #18605971
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" 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






Daniel.C
Le #18603571
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" 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








JPMonnier
Le #18603891
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" 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" 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












Daniel.C
Le #18603991
C'est le test d'adresse (B1) qui empêche de fonctionner. Si tu
l'enlèves et que tu mets MsgBox Target.Address, tu récupères la
totalité du TCD.
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" 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" 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














Daniel.C
Le #18603981
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" 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" 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














JPMonnier
Le #18604221
Je ne comprends pas tout Daniel excuse moi !
Le Msgbox me servait à tester le fonctionnement de ma Private sub
Or comme je le dis dans le post précédent, la Private sub n'est pas active
au changement d'occurrence du champ page
Le but est :
Si changement de valeur en Champ page B1, je déclenche une procédure de
calcul sur les nouvelles données affichées
Et le changement de valeur dans un champ page de TCD n'est pas pris en
compte par
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address
'If Target = Range("$B$1") Then
' MsgBox a
'End If
End Sub
Ma private n'est pas sollicitée
avec ta suggestion, je ne récupère pas de Msgbox non plus !
Si je mets Target xx en dehors du TCD, ça fonctionne très bien
Je plane un peu !
Je maitrise cette fonction Target mais dans les TCD, il doit y avoir
d'autres syntaxes ! je suppose !
Merci beaucoup de m'aider

--
Cordialement


"Daniel.C" news:
C'est le test d'adresse (B1) qui empêche de fonctionner. Si tu l'enlèves
et que tu mets MsgBox Target.Address, tu récupères la totalité du TCD.
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" 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" 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


















michdenis
Le #18604401
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" #
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" 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" 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














Daniel.C
Le #18604381
Oui. J'ai bien compris. Ce que je voulais souligner, c'est que, quand
tu modifies le champ de page en B1, Target.Address n'est pas égal à B1
mais à la plage du TCD entier. C'est pour cela que je t'ai dit de
supprimer le test sur B1 et de mettre le MsgBox, ce qui te permet de le
constater. Dans mon exemple, si j'utilise la macro :

Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address
If Target(1, 2).Address = "$B$1" Then
MsgBox "a"
End If
End Sub

Le Msgbox me donne la plage A1:B9 qui est celle de mon TCD.
La syntaxe "Target(1, 2).Address" correspond alors à "$B$1".
Je peux poster mon classeur si tu le souhaites.
Daniel
Je ne comprends pas tout Daniel excuse moi !
Le Msgbox me servait à tester le fonctionnement de ma Private sub
Or comme je le dis dans le post précédent, la Private sub n'est pas active au
changement d'occurrence du champ page
Le but est :
Si changement de valeur en Champ page B1, je déclenche une procédure de
calcul sur les nouvelles données affichées
Et le changement de valeur dans un champ page de TCD n'est pas pris en compte
par
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address
'If Target = Range("$B$1") Then
' MsgBox a
'End If
End Sub
Ma private n'est pas sollicitée
avec ta suggestion, je ne récupère pas de Msgbox non plus !
Si je mets Target xx en dehors du TCD, ça fonctionne très bien
Je plane un peu !
Je maitrise cette fonction Target mais dans les TCD, il doit y avoir d'autres
syntaxes ! je suppose !
Merci beaucoup de m'aider

--
Cordialement


"Daniel.C" news:
C'est le test d'adresse (B1) qui empêche de fonctionner. Si tu l'enlèves et
que tu mets MsgBox Target.Address, tu récupères la totalité du TCD.
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" 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" 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




















JPMonnier
Le #18604371
Désolé Daniel, mais je ne passe toujours pas sur la Private Sub
J'ai même contrôlé Application.EnableEvents = True
rien n'y fait,
je ne vois pas pourquoi !
--
Cordialement

"Daniel.C" news:%
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" 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" 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


















Publicité
Poster une réponse
Anonyme