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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
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" a écrit dans le message de news:
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
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" <BHY@discussions.microsoft.com> a écrit dans le message de news:
A794341F-595D-4A71-B918-0636286E34C9@microsoft.com...
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
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" a écrit dans le message de news:
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
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" a écrit dans le message de news:
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
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" <BHY@discussions.microsoft.com> a écrit dans le message de news:
A794341F-595D-4A71-B918-0636286E34C9@microsoft.com...
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
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" a écrit dans le message de news:
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
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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
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" <BHY@discussions.microsoft.com> a écrit dans le message de news:
E370EB49-123C-4CC3-9735-7390F3ED2862@microsoft.com...
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" <BHY@discussions.microsoft.com> a écrit dans le message de news:
A794341F-595D-4A71-B918-0636286E34C9@microsoft.com...
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
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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 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" a écrit dans le message de news:
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" a écrit dans le message de news:
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
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" <BHY@discussions.microsoft.com> a écrit dans le message de news:
E370EB49-123C-4CC3-9735-7390F3ED2862@microsoft.com...
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" <BHY@discussions.microsoft.com> a écrit dans le message de news:
A794341F-595D-4A71-B918-0636286E34C9@microsoft.com...
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
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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
Non, il se déclenche également en calcul auto. Daniel "BHY" a écrit dans le message de news:
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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
Non, il se déclenche également en calcul auto.
Daniel
"BHY" <BHY@discussions.microsoft.com> a écrit dans le message de news:
19410FC2-C43C-4E47-A9F3-EBE7D82634C7@microsoft.com...
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" <BHY@discussions.microsoft.com> a écrit dans le message de news:
E370EB49-123C-4CC3-9735-7390F3ED2862@microsoft.com...
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" <BHY@discussions.microsoft.com> a écrit dans le message de news:
A794341F-595D-4A71-B918-0636286E34C9@microsoft.com...
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
Non, il se déclenche également en calcul auto. Daniel "BHY" a écrit dans le message de news:
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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
Effectivement, çà marche Super! Merci -- BHY
Non, il se déclenche également en calcul auto. Daniel "BHY" a écrit dans le message de news:
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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
Effectivement, çà marche
Super! Merci
--
BHY
Non, il se déclenche également en calcul auto.
Daniel
"BHY" <BHY@discussions.microsoft.com> a écrit dans le message de news:
19410FC2-C43C-4E47-A9F3-EBE7D82634C7@microsoft.com...
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" <BHY@discussions.microsoft.com> a écrit dans le message de news:
E370EB49-123C-4CC3-9735-7390F3ED2862@microsoft.com...
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" <BHY@discussions.microsoft.com> a écrit dans le message de news:
A794341F-595D-4A71-B918-0636286E34C9@microsoft.com...
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
Non, il se déclenche également en calcul auto. Daniel "BHY" a écrit dans le message de news:
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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