Pb macro

Résolu/Fermé
Pimp92a Messages postés 418 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 20 novembre 2022 - 4 août 2009 à 19:22
Pimp92a Messages postés 418 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 20 novembre 2022 - 5 août 2009 à 12:31
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
A voir également:

6 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
4 août 2009 à 19:53
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
0
Pimp92a Messages postés 418 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 20 novembre 2022 44
4 août 2009 à 20:27
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
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
4 août 2009 à 20:35
Ben tout dépend du nombre de valeurs à tester et si c'est toujours suivi du même test sur I15...
0
Pimp92a Messages postés 418 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 20 novembre 2022 44
5 août 2009 à 09:04
Oui ce serait pour une dizaine de valeurs. Je vais esssayer avec Or et on verra bien le résultat. Merci Pb résolu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
5 août 2009 à 09:58
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
0
Pimp92a Messages postés 418 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 20 novembre 2022 44
5 août 2009 à 12:31
Parfait merci beaucoup d'avoir étudié mon pb.
0