IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Workbook_beforeclose + sortir de la procédure


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Par défaut Workbook_beforeclose + sortir de la procédure
    Bonjour,

    soit la procédure suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Private Sub workbook_beforeclose(Cancel As Boolean)
     
    On Error Resume Next
     
    Call Sauvegarde
     
    If valeur = False Then
        Exit Sub
    Else
        'Lancement du correcteur orthographique
        Worksheets("Feuil1").CheckSpelling
        'Enregistrement du fichier
        ActiveWorkbook.Save
    End If
     
    End Sub
    La procédure appelle la fonction Sauvegarde qui effectue des tests sur le fichier et renvoie la variable VALEUR.

    Si VALEUR=FALSE je ne souhaite pas que la procédure de sauvegarde continue.

    Si valeur=TRUE la procédure continue comme indiqué.

    Le problème c'est que à la place de l'exit sub le fichier m'affiche la boite de fermeture d'Excel en me demandant si je veux sauvegarder le fichier.

    Comment faire pour éviter cela et pouvoir faire ma vérification automatiquement avant la fermeture du fichier ?

    J'ai essayé en remplacant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Private Sub workbook_beforeclose(Cancel As Boolean)
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
            ByVal SaveAsUI As Boolean, Cancel as Boolean)
    mais la procédure ne se lance jamais :-(

    Quelqu'un peut-il m'aider ? Merci par avance.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonjour,

    Si j'ai bien compris..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub workbook_beforeclose(Cancel As Boolean)
     
    On Error Resume Next
     
    If Sauvegarde Then
        'Lancement du correcteur orthographique
        Worksheets("Feuil1").CheckSpelling
        'Enregistrement du fichier
        ActiveWorkbook.Save
    Else
        Cancel = True
    End If
    End Sub
    Cordialement,

    Tirex28/

Discussions similaires

  1. [AC-2007] sortir d'une procédure
    Par Alain7751 dans le forum VBA Access
    Réponses: 3
    Dernier message: 27/03/2011, 17h41
  2. [XL-2003] Sortir d'une procédure sub au bout d'un certain temps
    Par mancired dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/05/2009, 18h45
  3. Réponses: 2
    Dernier message: 15/02/2008, 09h09
  4. Comment sortir de la procédure avant la fin ?
    Par promenneur77 dans le forum Débuter
    Réponses: 4
    Dernier message: 24/01/2008, 10h50
  5. Sortir d'une procédure appellante
    Par zooffy dans le forum Access
    Réponses: 2
    Dernier message: 01/06/2006, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo