Pb macro
Résolu
Pimp92a
Messages postés
442
Statut
Membre
-
Pimp92a Messages postés 442 Statut Membre -
Pimp92a Messages postés 442 Statut Membre -
Bonjour,
J'ai fait une macro mais j'ai un pb. Voici la macro
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Feuil1").Range("J6") = "A" Then
If Sheets("Feuil1").Range("I15") < 10000 Then
MsgBox "Attention le montant de la commande est inférieur à 10000€ "
Cancel = True
If Sheets("Feuil1").Range("I6") = "O" Then
If Sheets("Feuil1").Range("I7") = "N°ORAN :" Then
MsgBox "Merci d'indiquer le numéro d'ORAN dans la cellule I7"
End If
End If
End If
End If
End Sub
Tout va bien lorsque je teste ma 1ère condition. Le classeur ne se ferme pas. Par contre, lorque la condition pour la cellule I6 n'est pas respecté, il ne m'empeche pas de sortir du classeur. Je sais qu'il ne me manque pas grand chose mais je ne trouve pas. Merci d'avance
J'ai fait une macro mais j'ai un pb. Voici la macro
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Feuil1").Range("J6") = "A" Then
If Sheets("Feuil1").Range("I15") < 10000 Then
MsgBox "Attention le montant de la commande est inférieur à 10000€ "
Cancel = True
If Sheets("Feuil1").Range("I6") = "O" Then
If Sheets("Feuil1").Range("I7") = "N°ORAN :" Then
MsgBox "Merci d'indiquer le numéro d'ORAN dans la cellule I7"
End If
End If
End If
End If
End Sub
Tout va bien lorsque je teste ma 1ère condition. Le classeur ne se ferme pas. Par contre, lorque la condition pour la cellule I6 n'est pas respecté, il ne m'empeche pas de sortir du classeur. Je sais qu'il ne me manque pas grand chose mais je ne trouve pas. Merci d'avance
Configuration: Windows XP Internet Explorer 7.0
6 réponses
-
Bonsoir,
Pas sûr d'avoir compris tes conditions de sortie (plusieurs interprétations possibles vu que ton code est à-priori faux) mais essaie comme ça :Private Sub Workbook_BeforeClose(Cancel As Boolean) If Sheets("Feuil1").Range("J6") = "A" And Sheets("Feuil1").Range("I15") < 10000 Then MsgBox "Attention le montant de la commande est inférieur à 10000€ " Cancel = True End If If Sheets("Feuil1").Range("I6") = "O" And Sheets("Feuil1").Range("I7") = "N°ORAN :" Then MsgBox "Merci d'indiquer le numéro d'ORAN dans la cellule I7" Cancel = True End If End Sub
eric -
Magnifique, merci ça marche, et maintenant si je voulais encore interdire d'autres valeurs dans la cellule J6 comment je ferais?? Merci en tout cas elle fonctionne bien
-
Ben tout dépend du nombre de valeurs à tester et si c'est toujours suivi du même test sur I15...
-
Oui ce serait pour une dizaine de valeurs. Je vais esssayer avec Or et on verra bien le résultat. Merci Pb résolu
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Tu peux faire comme ça, ça sera plus court :
if Sheets("Feuil1").Range("I15") < 10000 Then
select case Sheets("Feuil1").Range("J6")
case "A" ,"B","C"
MsgBox "Attention le montant de la commande est inférieur à 10000€ "
Cancel = True
end select
End If
eric -