Rechercher : dans
Par :

Arreter Private Sub Workbook_BeforeClose

Dernière réponse le 7 sep 2008 à 19:55:04 didou, le 7 sep 2008 à 17:20:32 
 Signaler ce message aux modérateurs

Bonjour,
je souhaite pouvoir, verifier la valeur d'une cellule ,avec la fonction "Private Sub Workbook_BeforeClose(Cancel As Boolean)"
si la valeur de la cellule est = "BON" le fichier se sauvegarde et se ferme
si la valeur de la cellule n'est pas = "BON" le fichier ne se sauvegarde pas et ne se ferme pas

voici le bout de programme que j'ai essaye de faire ,qui ne marche pas !!! , si la valeur de la cellule n'est pas = "BON" le fichier se ferme quand meme :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
verif = Range("H1")
If verif = ("BON") Then
ActiveWorkbook.Save
Else
Exit Sub
End If
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
verif = ("BON")
End Sub

je tourne en rond depuis hier , merci pour votre aide
didou

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « arreter Private Sub Workbook_BeforeClose » dans :
VBA Un timer une seconde tout simple VoirEn VBA, il n'y a pas (du moins à ma connaissance) de composant Timer. On peut en créer un très facilement. Dans un module de feuille Activer/ dés activer le timer : Placer un bouton sur Feuil1 et mettre le code... Private Sub...
[VBA] Détection de modification de cellule VoirExemple pour une MFC avec plus de 3 conditions. Private Sub Worksheet_Change(ByVal Target As Range) Dim Cel As Range For Each Cel In Target 'Adapter la/les plages. If Not Intersect(Cel, Range("B1:B30,D1:D30")) Is Nothing...
Excel - Surligner la ligne active VoirQuand on "ripe" sur la feuille on perd souvent le point de repère. Cette petite fonction surligne (le fond en rouge et l'écriture en jaune), toute la ligne où se trouve le curseur. À placer dans le module de la feuille Private Sub...

1

 bugger, le 7 sep 2008 à 19:55:04

Salut.
Essaies cela :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
verif = Range("H1") .Value
If verif = "BON")Then
ActiveWorkbook.Save
Else
Exit Sub
End If
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
verif = "BON"

End Sub

Bonne chance.

Emmanuel

Répondre à bugger