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

Msgbox si valeur dépassée

12 réponses
Avatar
C15
Bonjour à tous et à toutes,

J'ai un fichier comportant un tableau (avec des calculs simples de + et
*) et un graphique.

J'ai une cellule avec une liste de choix qui me permet de déclencher une
macro 1 ou une macro 2 pour remplir certaines cellules du tableau et
personnaliser le graphique.

Le déclenchement se fait avec le code suivant (merci à MichDenis) :

>>>>>>>>>>
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("G5")) Is Nothing Then

Range("B12:B14").Select
Selection.ClearContents
Range("A26").Select
Selection.ClearContents
Range("B26").Select
Selection.ClearContents
Range("C26").Select
Selection.ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"

ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"


End If
End If

End Sub
>>>>>>>>>>

Lorsque je complète les cellules "variables" du tableau, certaines
cellules sont bien sur actualisées, comme par exemple
B20=B18-B19
ou B22=B20-B21

Je voudrais qu'après l'exécution de la macro "Macro_JC" et après avoir
renseigné les cellules variables
j'ai une vérification automatique de la valeur de B20.
Celle-ci doit être <1157
avec apparition d'une msgbox "la masse max autorisée au D/L doit être
<1157 kg".

Il en est de même pour B22 (<1157)
et cela doit être vérifié aussi dans le cas "Macro_AK"
avec B20<780 et B22<780.

Merci de votre aide.

A+

C15

10 réponses

1 2
Avatar
michdenis
Bonjour,

Attention aux coupures de ligne dans le code
fait par le service de messagerie !

'-----------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,B26,B12:B14").ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions Gama_version_Hervé.xls'!Macro_JC"
ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions Gama_version_Hervé.xls'!Macro_AK"
End If
If Range("B20").Value > 1147 Or Range("B22") Then
MsgBox "Le poids limite dans la cellule " & _
"B20 ou B22 ne peut pas dépasser " & _
"le poids limite de 1157 Kg. Vérifier.", _
vbCritical + vbOKOnly, "Attention"
End If
End If
End Sub
'-----------------------------------------



"C15" a écrit dans le message de groupe de
discussion : #
Bonjour à tous et à toutes,

J'ai un fichier comportant un tableau (avec des calculs simples de + et
*) et un graphique.

J'ai une cellule avec une liste de choix qui me permet de déclencher une
macro 1 ou une macro 2 pour remplir certaines cellules du tableau et
personnaliser le graphique.

Le déclenchement se fait avec le code suivant (merci à MichDenis) :

>>>>>>>>>>
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("G5")) Is Nothing Then

Range("B12:B14").Select
Selection.ClearContents
Range("A26").Select
Selection.ClearContents
Range("B26").Select
Selection.ClearContents
Range("C26").Select
Selection.ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"

ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"


End If
End If

End Sub
>>>>>>>>>>

Lorsque je complète les cellules "variables" du tableau, certaines
cellules sont bien sur actualisées, comme par exemple
B20±8-B19
ou B22²0-B21

Je voudrais qu'après l'exécution de la macro "Macro_JC" et après avoir
renseigné les cellules variables
j'ai une vérification automatique de la valeur de B20.
Celle-ci doit être <1157
avec apparition d'une msgbox "la masse max autorisée au D/L doit être
<1157 kg".

Il en est de même pour B22 (<1157)
et cela doit être vérifié aussi dans le cas "Macro_AK"
avec B20<780 et B22<780.

Merci de votre aide.

A+

C15
Avatar
jero
Salut MichDenis,
J'ai l'impression que tu as oublié un truc dans ton code : les valeurs à
tester ne sont pas les mêmes selon la macro exécutée.
Si c'est "JC"=>1170 et pour "AK" c'est 780
Donc : (je reprends ton code)
'-----------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)


Dim ValMax as Integer
If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,B26,B12:B14").ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"


ValMax57
ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"


ValMaxx0
End If
If Range("B20").Value > ValMax Or Range("B22")>ValMax Then
MsgBox "Le poids limite dans la cellule " & _
"B20 ou B22 ne peut pas dépasser " & _
"le poids limite de " & ValMax & " Kg. Vérifier.", _
vbCritical + vbOKOnly, "Attention"
End If
End If
End Sub
'-----------------------------------------


A+

"michdenis" a écrit dans le message de news:

Bonjour,

Attention aux coupures de ligne dans le code
fait par le service de messagerie !

'-----------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,B26,B12:B14").ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"
ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"
End If
If Range("B20").Value > 1147 Or Range("B22") Then
MsgBox "Le poids limite dans la cellule " & _
"B20 ou B22 ne peut pas dépasser " & _
"le poids limite de 1157 Kg. Vérifier.", _
vbCritical + vbOKOnly, "Attention"
End If
End If
End Sub
'-----------------------------------------



"C15" a écrit dans le message de
groupe de
discussion : #
Bonjour à tous et à toutes,

J'ai un fichier comportant un tableau (avec des calculs simples de + et
*) et un graphique.

J'ai une cellule avec une liste de choix qui me permet de déclencher une
macro 1 ou une macro 2 pour remplir certaines cellules du tableau et
personnaliser le graphique.

Le déclenchement se fait avec le code suivant (merci à MichDenis) :

>>>>>>>>>>
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("G5")) Is Nothing Then

Range("B12:B14").Select
Selection.ClearContents
Range("A26").Select
Selection.ClearContents
Range("B26").Select
Selection.ClearContents
Range("C26").Select
Selection.ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"

ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"


End If
End If

End Sub
>>>>>>>>>>

Lorsque je complète les cellules "variables" du tableau, certaines
cellules sont bien sur actualisées, comme par exemple
B20±8-B19
ou B22²0-B21

Je voudrais qu'après l'exécution de la macro "Macro_JC" et après avoir
renseigné les cellules variables
j'ai une vérification automatique de la valeur de B20.
Celle-ci doit être <1157
avec apparition d'une msgbox "la masse max autorisée au D/L doit être
<1157 kg".

Il en est de même pour B22 (<1157)
et cela doit être vérifié aussi dans le cas "Macro_AK"
avec B20<780 et B22<780.

Merci de votre aide.

A+

C15



Avatar
C15
Bonsoir à tous les 2,

Tout d'abord la proposition de Michdenis marche, mais le message
apparait dès que l'on choisit en G5.
J'aurais voulu qu'il n'apparaisse qu'après que toutes les données aient
été entrées dans le tableau (et non pas que cela soit un message
d'avertissement affiché a priori).

Peut-être que c'est le moment ou la méthode de déclenchement qui n'est
pas le meilleur.

Quant à celle jero, le message n'apparait pas.

Merci de votre aide

A+

C15


jero a écrit :
Salut MichDenis,
J'ai l'impression que tu as oublié un truc dans ton code : les valeurs à
tester ne sont pas les mêmes selon la macro exécutée.
Si c'est "JC"=>1170 et pour "AK" c'est 780
Donc : (je reprends ton code)
'-----------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)


Dim ValMax as Integer
If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,B26,B12:B14").ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"


ValMax57
ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"


ValMaxx0
End If
If Range("B20").Value > ValMax Or Range("B22")>ValMax Then
MsgBox "Le poids limite dans la cellule " & _
"B20 ou B22 ne peut pas dépasser " & _
"le poids limite de " & ValMax & " Kg. Vérifier.", _
vbCritical + vbOKOnly, "Attention"
End If
End If
End Sub
'-----------------------------------------


A+

"michdenis" a écrit dans le message de news:

Bonjour,

Attention aux coupures de ligne dans le code
fait par le service de messagerie !

'-----------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,B26,B12:B14").ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"
ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"
End If
If Range("B20").Value > 1147 Or Range("B22") Then
MsgBox "Le poids limite dans la cellule " & _
"B20 ou B22 ne peut pas dépasser " & _
"le poids limite de 1157 Kg. Vérifier.", _
vbCritical + vbOKOnly, "Attention"
End If
End If
End Sub
'-----------------------------------------



"C15" a écrit dans le message de
groupe de
discussion : #
Bonjour à tous et à toutes,

J'ai un fichier comportant un tableau (avec des calculs simples de + et
*) et un graphique.

J'ai une cellule avec une liste de choix qui me permet de déclencher une
macro 1 ou une macro 2 pour remplir certaines cellules du tableau et
personnaliser le graphique.

Le déclenchement se fait avec le code suivant (merci à MichDenis) :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("G5")) Is Nothing Then

Range("B12:B14").Select
Selection.ClearContents
Range("A26").Select
Selection.ClearContents
Range("B26").Select
Selection.ClearContents
Range("C26").Select
Selection.ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"

ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"


End If
End If

End Sub
Lorsque je complète les cellules "variables" du tableau, certaines
cellules sont bien sur actualisées, comme par exemple
B20±8-B19
ou B22²0-B21

Je voudrais qu'après l'exécution de la macro "Macro_JC" et après avoir
renseigné les cellules variables
j'ai une vérification automatique de la valeur de B20.
Celle-ci doit être <1157
avec apparition d'une msgbox "la masse max autorisée au D/L doit être
<1157 kg".

Il en est de même pour B22 (<1157)
et cela doit être vérifié aussi dans le cas "Macro_AK"
avec B20<780 et B22<780.

Merci de votre aide.

A+

C15







Avatar
michdenis
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,B26,B12:B14").ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions Gama_version_Hervé.xls'!Macro_JC"
If Range("B20").Value > 1147 Or Range("B22") Then
MsgBox "Le poids limite dans la cellule " & _
"B20 ou B22 ne peut pas dépasser " & _
"le poids limite de 1157 Kg. Vérifier.", _
vbCritical + vbOKOnly, "Attention"
End If
ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions Gama_version_Hervé.xls'!Macro_AK"
If Range("B20").Value > 1147 Or Range("B22") Then
MsgBox "Le poids limite dans la cellule " & _
"B20 ou B22 ne peut pas dépasser " & _
"le poids limite de 1157 Kg. Vérifier.", _
vbCritical + vbOKOnly, "Attention"
End If
End If
End If
End Sub
Avatar
jero
Re bonjour,
Je crois que dans le code de MichDenis :
à la ligne : If Range("B20").Value > 1147 Or Range("B22") Then
il manque If Range("B20").Value > 1147 Or Range("B22") > 1147 Then
donc, si B22<>0, le message est toujours affiché.
J'ai testé ma procédure : elle fonctionne (donc, le pb. doit être ailleurs)
Tu écris :
J'aurais voulu qu'il n'apparaisse qu'après que toutes les données aient
été entrées dans le tableau (et non pas que cela soit un message
d'avertissement affiché a priori).


Il faudrait en savoir plus...
A+


"C15" a écrit dans le message de news:
u$
Bonsoir à tous les 2,

Tout d'abord la proposition de Michdenis marche, mais le message apparait
dès que l'on choisit en G5.
J'aurais voulu qu'il n'apparaisse qu'après que toutes les données aient
été entrées dans le tableau (et non pas que cela soit un message
d'avertissement affiché a priori).

Peut-être que c'est le moment ou la méthode de déclenchement qui n'est pas
le meilleur.

Quant à celle jero, le message n'apparait pas.

Merci de votre aide

A+

C15


jero a écrit :
Salut MichDenis,
J'ai l'impression que tu as oublié un truc dans ton code : les valeurs à
tester ne sont pas les mêmes selon la macro exécutée.
Si c'est "JC"=>1170 et pour "AK" c'est 780
Donc : (je reprends ton code)
'-----------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)


Dim ValMax as Integer
If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,B26,B12:B14").ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"


ValMax57
ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"


ValMaxx0
End If
If Range("B20").Value > ValMax Or Range("B22")>ValMax Then
MsgBox "Le poids limite dans la cellule " & _
"B20 ou B22 ne peut pas dépasser " & _
"le poids limite de " & ValMax & " Kg. Vérifier.", _
vbCritical + vbOKOnly, "Attention"
End If
End If
End Sub
'-----------------------------------------


A+

"michdenis" a écrit dans le message de news:

Bonjour,

Attention aux coupures de ligne dans le code
fait par le service de messagerie !

'-----------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,B26,B12:B14").ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"
ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"
End If
If Range("B20").Value > 1147 Or Range("B22") Then
MsgBox "Le poids limite dans la cellule " & _
"B20 ou B22 ne peut pas dépasser " & _
"le poids limite de 1157 Kg. Vérifier.", _
vbCritical + vbOKOnly, "Attention"
End If
End If
End Sub
'-----------------------------------------



"C15" a écrit dans le message de
groupe de
discussion : #
Bonjour à tous et à toutes,

J'ai un fichier comportant un tableau (avec des calculs simples de + et
*) et un graphique.

J'ai une cellule avec une liste de choix qui me permet de déclencher une
macro 1 ou une macro 2 pour remplir certaines cellules du tableau et
personnaliser le graphique.

Le déclenchement se fait avec le code suivant (merci à MichDenis) :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("G5")) Is Nothing Then

Range("B12:B14").Select
Selection.ClearContents
Range("A26").Select
Selection.ClearContents
Range("B26").Select
Selection.ClearContents
Range("C26").Select
Selection.ClearContents

If Right(Range("G5"), 2) = "JC" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_JC"

ElseIf Right(Range("G5"), 2) = "AK" Then
Application.Run "'Masse centrage Avions
Gama_version_Hervé.xls'!Macro_AK"


End If
End If

End Sub
Lorsque je complète les cellules "variables" du tableau, certaines
cellules sont bien sur actualisées, comme par exemple
B20±8-B19
ou B22²0-B21

Je voudrais qu'après l'exécution de la macro "Macro_JC" et après avoir
renseigné les cellules variables
j'ai une vérification automatique de la valeur de B20.
Celle-ci doit être <1157
avec apparition d'une msgbox "la masse max autorisée au D/L doit être
<1157 kg".

Il en est de même pour B22 (<1157)
et cela doit être vérifié aussi dans le cas "Macro_AK"
avec B20<780 et B22<780.

Merci de votre aide.

A+

C15








Avatar
michdenis
Merci... cela m'avait échappé !
Avatar
C15
Bonjour,

Si cela peut vous aider...
http://www.cijoint.fr/cjlink.php?file=cj201001/cijNKCvARi.xls

Merci de votre aide.

A+

C15


michdenis a écrit :
Merci... cela m'avait échappé !





Avatar
jero
Salut C15,
Je viens de télécharger ton classeur.
Déjà, une première remarque (par rapport uniquement à nos échanges) : ce
n'est pas après l'exécution d'une des macros qu'il faut afficher le message
mais après la saisie des données (cellules en jaune).
Avant d'aller plus loin ; est-ce qu'un affichage dans la cellule B20
suffirait ?
Ce serait du genre (en B20) :
=SI(OU(ET(DROITE(G5;2)="JC";B18-B19>1147);ET(DROITE(G5;2)="AK";B18-B19>780));"Attention...";B18-B19)
Et tu enlèves la validation de données...
Il resterait à modifier les formules des cellules C20,B22 et C22 (pour
éviter l'affichage de #VALEUR! (fonction SI(ESTERREUR(....
Modifier également :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,C26,B12:B14").ClearContents
Select Case Right(Range("G5"), 2)
Case "JC"
Macro_JC
Case "AK"
Macro_AK
End Select
End If
End Sub
A+

"C15" a écrit dans le message de news:

Bonjour,

Si cela peut vous aider...
http://www.cijoint.fr/cjlink.php?file=cj201001/cijNKCvARi.xls

Merci de votre aide.

A+

C15


michdenis a écrit :
Merci... cela m'avait échappé !






Avatar
C15
Bonsoir Jero,

Ta proposition n'est pas mal, mais pour moi un pop up (comme le message
de validation de données) est plus parlant, d'autant plus que la
sécurité est en jeu.
J'y émettrai plusieurs réserves :
c'est un fichier test pour 2 avions (dans mon club il y en a 12 avec
des limitations différentes), donc la fonction si va se rallonger un peu...
le message doit rappeler la masse max que l'on est en train de dépasser
(par exemple pour AK 780 kg)

Tes remarques correspondent tout à fait à ce que j'avais (sans doute
mal) exprimé :
C'est après la saisie des données que l'alerte doit apparaitre.
Par ailleurs la validation des données que j'avais mis en place ne
marche que pour des valeurs saisies et non pas calculées et
effectivement c'est à supprimer.
Le problème du pop up c'est le mode de déclenchement, plus précisément
dès que j'ai saisi les quantités carburant et que donc les masses sont
calculées automatiquement en B20 et B22, l'alerte doit automatiquement
apparaitre si B20 ou B22>780 pour AK pour que je modifie mon devis de
poids (bagages et/ou carburant embarqué).

Merci de ton aide.

A+

C15

jero a écrit :
Salut C15,
Je viens de télécharger ton classeur.
Déjà, une première remarque (par rapport uniquement à nos échanges) : ce
n'est pas après l'exécution d'une des macros qu'il faut afficher le message
mais après la saisie des données (cellules en jaune).
Avant d'aller plus loin ; est-ce qu'un affichage dans la cellule B20
suffirait ?
Ce serait du genre (en B20) :
=SI(OU(ET(DROITE(G5;2)="JC";B18-B19>1147);ET(DROITE(G5;2)="AK";B18-B19>780));"Attention...";B18-B19)
Et tu enlèves la validation de données...
Il resterait à modifier les formules des cellules C20,B22 et C22 (pour
éviter l'affichage de #VALEUR! (fonction SI(ESTERREUR(....
Modifier également :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,C26,B12:B14").ClearContents
Select Case Right(Range("G5"), 2)
Case "JC"
Macro_JC
Case "AK"
Macro_AK
End Select
End If
End Sub
A+

"C15" a écrit dans le message de news:

Bonjour,

Si cela peut vous aider...
http://www.cijoint.fr/cjlink.php?file=cj201001/cijNKCvARi.xls

Merci de votre aide.

A+

C15


michdenis a écrit :
Merci... cela m'avait échappé !










Avatar
C15
Rebonsoir,

Voir le fichier joint :
http://www.cijoint.fr/cjlink.php?file=cj201001/cij1GgT9NC.xls

Avec votre aide à tous les 2 et en cherchant sur le net j'ai sans doute
trouvé la solution :

>>>
Private Sub Worksheet_Calculate()

If [B20] > 780 And Right(Range("G5"), 2) = "AK" Then
MsgBox "Vous avez dépassé la masse max autorisée au D/L (780 kg)", vbOKOnly

ElseIf [B20] > 1157 And Right(Range("G5"), 2) = "JC" Then
MsgBox "Vous avez dépassé la masse max autorisée au D/L (1157 kg)", vbOKOnly

End If

End Sub
>>>

Je saisis les poids des personnes à bord et des bagages.
Je saisis le carburant embarqué et au roulage.
La masse au D/L est calculée.
Si elle est >780 (pour AK) msgbox...

Teste pour me dire ce que tu en penses.

Dans le cas de mes 10 autres avions est-ce qu'un select case serait plus
efficace que mes elseif ?


Merci de votre aide.

A+

C15



C15 a écrit :
Bonsoir Jero,

Ta proposition n'est pas mal, mais pour moi un pop up (comme le message
de validation de données) est plus parlant, d'autant plus que la
sécurité est en jeu.
J'y émettrai plusieurs réserves :
c'est un fichier test pour 2 avions (dans mon club il y en a 12 avec
des limitations différentes), donc la fonction si va se rallonger un peu...
le message doit rappeler la masse max que l'on est en train de
dépasser (par exemple pour AK 780 kg)

Tes remarques correspondent tout à fait à ce que j'avais (sans doute
mal) exprimé :
C'est après la saisie des données que l'alerte doit apparaitre.
Par ailleurs la validation des données que j'avais mis en
place ne marche que pour des valeurs saisies et non pas
calculées et effectivement c'est à supprimer.
Le problème du pop up c'est le mode de déclenchement, plus
précisément dès que j'ai saisi les quantités carburant et que donc les
masses sont calculées automatiquement en B20 et B22, l'alerte doit
automatiquement apparaitre si B20 ou B22>780 pour AK pour que je
modifie mon devis de poids (bagages et/ou carburant embarqué).

Merci de ton aide.

A+

C15

jero a écrit :
Salut C15,
Je viens de télécharger ton classeur.
Déjà, une première remarque (par rapport uniquement à nos échanges) :
ce n'est pas après l'exécution d'une des macros qu'il faut afficher le
message mais après la saisie des données (cellules en jaune).
Avant d'aller plus loin ; est-ce qu'un affichage dans la cellule B20
suffirait ?
Ce serait du genre (en B20) :
=SI(OU(ET(DROITE(G5;2)="JC";B18-B19>1147);ET(DROITE(G5;2)="AK";B18-B19>780));"Attention...";B18-B19)

Et tu enlèves la validation de données...
Il resterait à modifier les formules des cellules C20,B22 et C22 (pour
éviter l'affichage de #VALEUR! (fonction SI(ESTERREUR(....
Modifier également :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G5")) Is Nothing Then
Range("A26,B26,C26,B12:B14").ClearContents
Select Case Right(Range("G5"), 2)
Case "JC"
Macro_JC
Case "AK"
Macro_AK
End Select
End If
End Sub
A+

"C15" a écrit dans le message de
news:
Bonjour,

Si cela peut vous aider...
http://www.cijoint.fr/cjlink.php?file=cj201001/cijNKCvARi.xls

Merci de votre aide.

A+

C15


michdenis a écrit :
Merci... cela m'avait échappé !












1 2