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

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

10 réponses

1 2
Avatar
Daniel.C
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
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 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
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
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" 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
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
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" a écrit dans le message de
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" 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
michdenis
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
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" a écrit dans le message de
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" 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é 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" a écrit dans le message de
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" 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