Worksheet_Change

Le
BHY
Maintenant que j'ai découvert les Events Excel j'essaie de creuser mais je
n'ai pas trouver la solution pour déclencher l'événement seulement quand le
résultat d'une cellule donnée change.

J'ai réussi à déclencher l'evénement en modifiant une cellule précise en
utilisant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellChange As Range
Set CellChange = Range("A1")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
etc
Ca marche si je saisie une valeur en A1, mais j'aimerai que l'événement se
déclenche pas quand je saisie mais quand le résultat de la formule qui est en
A1 change. Est-ce possible ?
Si oui comment ?
Si non y-a-t-il une possibilité pour le faire autrement ?
Merci
--
BHY
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4443911
Bonjour.
Tu peux utiliser Worksheet_Calculate(). Il faut stocker la valeur de A1 dans
une variable publique à l'ouverture, vérifier le changement de valeur dans
Worksheet_Calculate() et le cas échéant, stocker la nouvelle valeur.
Cordialement.
Daniel
"BHY"
Maintenant que j'ai découvert les Events Excel j'essaie de creuser mais je
n'ai pas trouver la solution pour déclencher l'événement seulement quand
le
résultat d'une cellule donnée change.

J'ai réussi à déclencher l'evénement en modifiant une cellule précise en
utilisant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellChange As Range
Set CellChange = Range("A1")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
etc ...
Ca marche si je saisie une valeur en A1, mais j'aimerai que l'événement se
déclenche pas quand je saisie mais quand le résultat de la formule qui est
en
A1 change. Est-ce possible ?
Si oui comment ?
Si non y-a-t-il une possibilité pour le faire autrement ?
Merci
--
BHY


BHY
Le #4443761
Merci pour ta réponse,
aurais-tu des exemples de codes avec Worksheet_Calculate() ?
--
BHY



Bonjour.
Tu peux utiliser Worksheet_Calculate(). Il faut stocker la valeur de A1 dans
une variable publique à l'ouverture, vérifier le changement de valeur dans
Worksheet_Calculate() et le cas échéant, stocker la nouvelle valeur.
Cordialement.
Daniel
"BHY"
Maintenant que j'ai découvert les Events Excel j'essaie de creuser mais je
n'ai pas trouver la solution pour déclencher l'événement seulement quand
le
résultat d'une cellule donnée change.

J'ai réussi à déclencher l'evénement en modifiant une cellule précise en
utilisant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellChange As Range
Set CellChange = Range("A1")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
etc ...
Ca marche si je saisie une valeur en A1, mais j'aimerai que l'événement se
déclenche pas quand je saisie mais quand le résultat de la formule qui est
en
A1 change. Est-ce possible ?
Si oui comment ?
Si non y-a-t-il une possibilité pour le faire autrement ?
Merci
--
BHY







Daniel
Le #4443741
Dans un module :

Public ValeurA

dans "thisworkbook" :

Private Sub Workbook_Open()
ValeurA = Sheets("Feuil1").Range("A1")
End Sub

Dans la feuille :

Private Sub Worksheet_Calculate()
If [Feuil1!A1] <> ValeurA Then
ValeurA = [Feuil1!A1]
' ici, ton code
End If
End Sub

Daniel
"BHY"
Merci pour ta réponse,
aurais-tu des exemples de codes avec Worksheet_Calculate() ?
--
BHY



Bonjour.
Tu peux utiliser Worksheet_Calculate(). Il faut stocker la valeur de A1
dans
une variable publique à l'ouverture, vérifier le changement de valeur
dans
Worksheet_Calculate() et le cas échéant, stocker la nouvelle valeur.
Cordialement.
Daniel
"BHY"
Maintenant que j'ai découvert les Events Excel j'essaie de creuser mais
je
n'ai pas trouver la solution pour déclencher l'événement seulement
quand
le
résultat d'une cellule donnée change.

J'ai réussi à déclencher l'evénement en modifiant une cellule précise
en
utilisant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellChange As Range
Set CellChange = Range("A1")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
etc ...
Ca marche si je saisie une valeur en A1, mais j'aimerai que l'événement
se
déclenche pas quand je saisie mais quand le résultat de la formule qui
est
en
A1 change. Est-ce possible ?
Si oui comment ?
Si non y-a-t-il une possibilité pour le faire autrement ?
Merci
--
BHY









BHY
Le #4443711
Le problème c'est que j'ai cru comprendre que Worsheet_calculate()
fonctionnait dès qu'on demande un recalcul de la feuille pa 'F9' mais ne se
déclenchait pas si le mode de calcul est automatique. Hors tout mon fichier
Excel est obligatoirement en calcul auto ...
--
BHY



Dans un module :

Public ValeurA

dans "thisworkbook" :

Private Sub Workbook_Open()
ValeurA = Sheets("Feuil1").Range("A1")
End Sub

Dans la feuille :

Private Sub Worksheet_Calculate()
If [Feuil1!A1] <> ValeurA Then
ValeurA = [Feuil1!A1]
' ici, ton code
End If
End Sub

Daniel
"BHY"
Merci pour ta réponse,
aurais-tu des exemples de codes avec Worksheet_Calculate() ?
--
BHY



Bonjour.
Tu peux utiliser Worksheet_Calculate(). Il faut stocker la valeur de A1
dans
une variable publique à l'ouverture, vérifier le changement de valeur
dans
Worksheet_Calculate() et le cas échéant, stocker la nouvelle valeur.
Cordialement.
Daniel
"BHY"
Maintenant que j'ai découvert les Events Excel j'essaie de creuser mais
je
n'ai pas trouver la solution pour déclencher l'événement seulement
quand
le
résultat d'une cellule donnée change.

J'ai réussi à déclencher l'evénement en modifiant une cellule précise
en
utilisant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellChange As Range
Set CellChange = Range("A1")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
etc ...
Ca marche si je saisie une valeur en A1, mais j'aimerai que l'événement
se
déclenche pas quand je saisie mais quand le résultat de la formule qui
est
en
A1 change. Est-ce possible ?
Si oui comment ?
Si non y-a-t-il une possibilité pour le faire autrement ?
Merci
--
BHY














Daniel
Le #4443691
Non, il se déclenche également en calcul auto.
Daniel
"BHY"
Le problème c'est que j'ai cru comprendre que Worsheet_calculate()
fonctionnait dès qu'on demande un recalcul de la feuille pa 'F9' mais ne
se
déclenchait pas si le mode de calcul est automatique. Hors tout mon
fichier
Excel est obligatoirement en calcul auto ...
--
BHY



Dans un module :

Public ValeurA

dans "thisworkbook" :

Private Sub Workbook_Open()
ValeurA = Sheets("Feuil1").Range("A1")
End Sub

Dans la feuille :

Private Sub Worksheet_Calculate()
If [Feuil1!A1] <> ValeurA Then
ValeurA = [Feuil1!A1]
' ici, ton code
End If
End Sub

Daniel
"BHY"
Merci pour ta réponse,
aurais-tu des exemples de codes avec Worksheet_Calculate() ?
--
BHY



Bonjour.
Tu peux utiliser Worksheet_Calculate(). Il faut stocker la valeur de
A1
dans
une variable publique à l'ouverture, vérifier le changement de valeur
dans
Worksheet_Calculate() et le cas échéant, stocker la nouvelle valeur.
Cordialement.
Daniel
"BHY"
Maintenant que j'ai découvert les Events Excel j'essaie de creuser
mais
je
n'ai pas trouver la solution pour déclencher l'événement seulement
quand
le
résultat d'une cellule donnée change.

J'ai réussi à déclencher l'evénement en modifiant une cellule
précise
en
utilisant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellChange As Range
Set CellChange = Range("A1")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
etc ...
Ca marche si je saisie une valeur en A1, mais j'aimerai que
l'événement
se
déclenche pas quand je saisie mais quand le résultat de la formule
qui
est
en
A1 change. Est-ce possible ?
Si oui comment ?
Si non y-a-t-il une possibilité pour le faire autrement ?
Merci
--
BHY
















BHY
Le #4443681
Effectivement, çà marche
Super! Merci
--
BHY



Non, il se déclenche également en calcul auto.
Daniel
"BHY"
Le problème c'est que j'ai cru comprendre que Worsheet_calculate()
fonctionnait dès qu'on demande un recalcul de la feuille pa 'F9' mais ne
se
déclenchait pas si le mode de calcul est automatique. Hors tout mon
fichier
Excel est obligatoirement en calcul auto ...
--
BHY



Dans un module :

Public ValeurA

dans "thisworkbook" :

Private Sub Workbook_Open()
ValeurA = Sheets("Feuil1").Range("A1")
End Sub

Dans la feuille :

Private Sub Worksheet_Calculate()
If [Feuil1!A1] <> ValeurA Then
ValeurA = [Feuil1!A1]
' ici, ton code
End If
End Sub

Daniel
"BHY"
Merci pour ta réponse,
aurais-tu des exemples de codes avec Worksheet_Calculate() ?
--
BHY



Bonjour.
Tu peux utiliser Worksheet_Calculate(). Il faut stocker la valeur de
A1
dans
une variable publique à l'ouverture, vérifier le changement de valeur
dans
Worksheet_Calculate() et le cas échéant, stocker la nouvelle valeur.
Cordialement.
Daniel
"BHY"
Maintenant que j'ai découvert les Events Excel j'essaie de creuser
mais
je
n'ai pas trouver la solution pour déclencher l'événement seulement
quand
le
résultat d'une cellule donnée change.

J'ai réussi à déclencher l'evénement en modifiant une cellule
précise
en
utilisant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellChange As Range
Set CellChange = Range("A1")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
etc ...
Ca marche si je saisie une valeur en A1, mais j'aimerai que
l'événement
se
déclenche pas quand je saisie mais quand le résultat de la formule
qui
est
en
A1 change. Est-ce possible ?
Si oui comment ?
Si non y-a-t-il une possibilité pour le faire autrement ?
Merci
--
BHY





















Publicité
Poster une réponse
Anonyme