*******************
Private Sub Worksheet_Calculate()
If [N26] > 15244092 Then MsgBox "ATTENTION : Le montant du contrat est
supérieur à 15,2 M€."
End Sub
*******************
Mais comme il se trouve dans un fichier avec beaucoup de formules et de
zones de saisie, le boîte de dialogue apparaît à chaque manipulation de
l'utilisateur ou à chaque calcul de formule... Comment faire pour que cette
boîte n'apparaisse qu'une fois, et disparaisse jusqu'à la fin de la saisie du
fichier, dès que l'on a cliqué sur "OK" ?
Pour quoi ne pas déclencher une "vérification" seulement à la saisie dans une certaine(s) cellule(s) par l'intermédiaire de "Worksheet_Change" ?
AV
PMO
Bonjour,
Une piste avec l'emploi d'une variable statique. Cela marchera pour la session en cours mais si vous fermez votre classeur et l'ouvrez à nouveau cette variable statique sera automatiquement réinitialisée à 0 et le message apparaîtra au moins une fois si la condition est remplie.
'********** Private Sub Worksheet_Calculate() Static nbMessage% If nbMessage% = 0 Then If [N26] > 15244092 Then MsgBox "ATTENTION : Le montant du contrat est supérieur à 15,2 M€." nbMessage% = nbMessage% + 1 End If End If End Sub '**********
Cordialement. -- PMO Patrick Morange
ce programme fonctionne :
******************* Private Sub Worksheet_Calculate() If [N26] > 15244092 Then MsgBox "ATTENTION : Le montant du contrat est supérieur à 15,2 M€." End Sub *******************
Mais comme il se trouve dans un fichier avec beaucoup de formules et de zones de saisie, le boîte de dialogue apparaît à chaque manipulation de l'utilisateur ou à chaque calcul de formule... Comment faire pour que cette boîte n'apparaisse qu'une fois, et disparaisse jusqu'à la fin de la saisie du fichier, dès que l'on a cliqué sur "OK" ?
Bonjour,
Une piste avec l'emploi d'une variable statique.
Cela marchera pour la session en cours mais si vous
fermez votre classeur et l'ouvrez à nouveau cette
variable statique sera automatiquement réinitialisée
à 0 et le message apparaîtra au moins une fois si
la condition est remplie.
'**********
Private Sub Worksheet_Calculate()
Static nbMessage%
If nbMessage% = 0 Then
If [N26] > 15244092 Then
MsgBox "ATTENTION : Le montant du contrat est supérieur à 15,2 M€."
nbMessage% = nbMessage% + 1
End If
End If
End Sub
'**********
Cordialement.
--
PMO
Patrick Morange
ce programme fonctionne :
*******************
Private Sub Worksheet_Calculate()
If [N26] > 15244092 Then MsgBox "ATTENTION : Le montant du contrat est
supérieur à 15,2 M€."
End Sub
*******************
Mais comme il se trouve dans un fichier avec beaucoup de formules et de
zones de saisie, le boîte de dialogue apparaît à chaque manipulation de
l'utilisateur ou à chaque calcul de formule... Comment faire pour que cette
boîte n'apparaisse qu'une fois, et disparaisse jusqu'à la fin de la saisie du
fichier, dès que l'on a cliqué sur "OK" ?
Une piste avec l'emploi d'une variable statique. Cela marchera pour la session en cours mais si vous fermez votre classeur et l'ouvrez à nouveau cette variable statique sera automatiquement réinitialisée à 0 et le message apparaîtra au moins une fois si la condition est remplie.
'********** Private Sub Worksheet_Calculate() Static nbMessage% If nbMessage% = 0 Then If [N26] > 15244092 Then MsgBox "ATTENTION : Le montant du contrat est supérieur à 15,2 M€." nbMessage% = nbMessage% + 1 End If End If End Sub '**********
Cordialement. -- PMO Patrick Morange
ce programme fonctionne :
******************* Private Sub Worksheet_Calculate() If [N26] > 15244092 Then MsgBox "ATTENTION : Le montant du contrat est supérieur à 15,2 M€." End Sub *******************
Mais comme il se trouve dans un fichier avec beaucoup de formules et de zones de saisie, le boîte de dialogue apparaît à chaque manipulation de l'utilisateur ou à chaque calcul de formule... Comment faire pour que cette boîte n'apparaisse qu'une fois, et disparaisse jusqu'à la fin de la saisie du fichier, dès que l'on a cliqué sur "OK" ?