Macro excel condition pour sauvegarder

babounet1989 Messages postés 1 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

je suis complètement débutant en VB et je souhaiterais simplement permettre l'enregistrement d'un fichier excel lorsque la case H4 = OK.
Après quelques recherches sur différents forum, j'ai codé ceci mais ça ne fonctionne pas.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI _As Boolean, Cancel As Boolean)
If Range("H4") = "OK" Then
Cancel = True
End If
End Sub

Quelqu'un pourrait-il m'aider svp? :)

Merci d'avance



A voir également:

2 réponses

Paf
 
bonjour,

le code en lui même fonctionne (du moins pour Excel 2003)

En précisant simplement la feuille de la cellule H4, ça devrait marcher:

If Sheets("nomdelafeuille").Range("H4") = "OK" Then ..

Bonne suite

edit: heu... en fait j'ai repris sans réfléchir; là on empêche de sauvegarder quand c'est OK
il faudrait plutôt
If Sheets("nomdelafeuille").Range("H4") <> "OK" Then ..
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

'test sur fermeture classeur
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  If Worksheets("feuil1").Range("H4") = "OK" Then
    Workbooks(ActiveWorkbook.Name).Close savechanges:=True
  Else
    Workbooks(ActiveWorkbook.Name).Close savechanges:=False
  End If
End Sub

'test sur enregistrement
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Application.DisplayAlerts = False
  If Worksheets("feuil1").Range("H4") = "OK" Then
    ActiveWorkbook.Save
  Else
    Cancel = True
  End If
  Application.DisplayAlerts = True
End Sub


Bonne suite
0