Empêcher la sauvegarde

N

Nadège

Guest
Je souhaiterai, en vba, empêcher la sauvegarde d'un fichier (bon de commande) si certains critères ne sont pas remplis (en l'occurence l'absence du n° de devis qui doit comporter 7 caractères).

J'ai donc créé une procédure Workbook_BeforeSave qui teste si les conditions sont remplies ou non.
La procédure de test fonctionne parfaitement.
Le message s'affiche bien si le n° de devis n'est pas conforme.
Le hic ? la boîte de dialogue "Enregistrer" ne se referme pas pour autant.

Est-il possible de brider cette commande et comment ?

D'avance merci de votre aide.

------

reponse = Range("C20").Value
Select Case reponse
Case Is <> "Non"
Select Case Len(Range("C22"))
Case Is < 7
MsgBox "N° de devis invalide !" & Chr(10) & "Merci de vérifier auprès de Dhane, poste 7351", vbCritical
Exit Sub
End Select
End Select
 
N

Nadège

Guest
Inutile de me répondre : je viens a priori de trouver la solution.

Pour ceux que cela intéresse : il suffit d'intercaler la ligne Cancel=true
après le test...

----

reponse = Range("C20").Value
Select Case reponse
Case Is <> "Non"
Select Case Len(Range("C22"))
Case Is < 7
MsgBox "N° de devis invalide !" & Chr(10) & "Merci de vérifier auprès de Dhane, poste 7351", vbCritical
Cancel = True
Exit Sub
End Select
End Select