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 :

Exécution BeforeClose sur tous mes fichiers [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 5
    Par défaut Exécution BeforeClose sur tous mes fichiers
    Bonjour,
    Je recherche une solution pour pouvoir exécuter un code à la fermeture pour tous les fichiers excel que je vais ouvrir, quelque soit leur origine. Pour autant, je ne veux pas insérer de macro BeforeClose dans ces fichiers.....
    Est-ce qu'il y a moyen via un modèle de document ou un un xla ?
    Je butte depuis quelques heures sur ce sujet... J'ai tenté avec BeforeClose sur un xla, mais c'est lors de la fermeture de Excel, et non pas du fichier que le code s'exécute....

    Ex : j'ouvre un fichier excel que m'envoi quelqu'un par mail. Quand avant fermeture de ce fichier, le code s'exécute. Pour autant, le fichier natif n'est pas modifié.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    tu devrais sans doute utiliser l'événement d'application WorkbookBeforeClose.
    Exemple
    Cet exemple montre comment inviter l’utilisateur à répondre par oui ou non à la question relative à la fermeture d’un classeur. Pour plus d’informations sur l’utilisation des procédures événementielles avec l’objet Application, voir Utilisation d’événements avec l’objet Application.
    VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub App_WorkbookBeforeClose(ByVal Wb as Workbook, Cancel as Boolean) 
     a = MsgBox("Do you really want to close the workbook?", vbYesNo) 
     If a = vbNo Then Cancel = True 
    End Sub
    http://msdn.microsoft.com/fr-fr/libr...ice.15%29.aspx
    eric

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 5
    Par défaut
    Ca ressemble effectivement à ce que je recherche, sauf que j'ai tenté et que ca ne marche pas....
    Il faut mettre ce code dans un fichier .xla ? Dans ThisWorkBook ou dans un module ? Il faut déclarer des compléments ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Bonjour,

    essais ça,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Command1_Click()
     
    Dim wk As Workbook
     
    For Each wk In Workbooks
        wk.Close
    Next wk
     
    Application.Quit
    End Sub

  5. #5
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Bonjour,

    Essais ça si tu préfères, pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub FermerTousClasseurs()
     
    Dim Classeur As Workbook
    For Each Classeur In Workbooks
        If Classeur.Name <> ThisWorkbook.Name Then
            Classeur.Close SaveChanges:=True
        End If
    Next Classeur
     If Classeur.Name = ThisWorkbook.Name Then
            Classeur.Close SaveChanges:=True
        End If
    Next Classeur
    End Sub

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    2 façons : dans ThisWorkbook ou dans un module de classe.
    Voir ici : http://www.cpearson.com/excel/AppEvent.aspx

    Had4789 : la question n'est pas comment fermer tous les classeurs.

    eric

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Exécuter une macro sur tous les fichiers d'un dossier.
    Par ahmet dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/10/2009, 09h49
  2. Exécuter un commande sur tous les fichiers d'un dossier
    Par Gog077 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 09/09/2009, 11h55
  3. exécuter une commande sur tous les fichiers des sous dossiers
    Par Concombre Masqué dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 05/03/2009, 01h15
  4. Réponses: 1
    Dernier message: 17/10/2005, 22h47
  5. Recherche sur tous les fichiers d'un projet
    Par Kaorichan dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/04/2005, 11h28

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