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

Contribuez Discussion :

Déclencher une macro à l'ouverture de tout nouveau classeur ouvert ou créé


Sujet :

Contribuez

  1. #1
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Dans un module standard
    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
    Dim X As New Classe1
     
    Sub Lister()
    Dim NomFich As String, chemin as string
        Chemin = "D:\LeRep\"
        NomFich = Dir(Chemin, vbNormal)
        Do While NomFich <> ""
            Ouvrir Chemin & NomFich
            NomFich = Dir()
        Loop
    End Sub
     
    'Pour ouvrir un fichier 
    Sub Ouvrir(NomFich as string)
        Set X.App = Application
        Workbooks.Open NomFich
    End Sub
    Dans un module de classe nommé classe1, tu mets ça
    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
    Public WithEvents App As Application
     
    'S'il s'agit de lancer la macro lors de la création d'un nouveau classeur
    Private Sub App_NewWorkbook(ByVal Wb As Workbook)
        MsgBox "coucou"
        'ou le code...
    End Sub
    'La création consécutive de plusieurs nouveaux fichiers dans une boucle 
    'provoque l'événement NewWorkbook pour chaque fichier.
     
    'S'il s'agit de lancer la macro lors de l'ouverture d'un classeur existant
    Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
        MsgBox "coucou"
        'ou le code...
    End Sub
    'L'ouverture consécutive de plusieurs fichiers dans une boucle provoque
    'l'événement WorkbookOpen pour chaque fichier.
    Ce code est à placer dans un classeur actif.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour Joel

    Il y a également un exemple dans la FAQ :

    Comment identifier automatiquement l'ouverture de nouveaux classeurs ?


    bon week end
    michel

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Merci Michel,
    Effectivement, ton exemple implique l'utilisation d'un xla.
    Le but du code que j'ai mis est donc de permettre d'obtenir le nom des fichiers ouverts depuis un classeur.xls.
    Bonne journée

Discussions similaires

  1. Lancer une macro à l'ouverture d'un fichier
    Par Tibaldus dans le forum VBA Word
    Réponses: 2
    Dernier message: 12/09/2007, 12h27
  2. Exécuter une macro à l'ouverture du classeur
    Par illight dans le forum Contribuez
    Réponses: 2
    Dernier message: 22/06/2007, 13h24
  3. Empécher l'exécution d'une macro à l'ouverture
    Par infosorome dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/06/2007, 19h02
  4. Réponses: 1
    Dernier message: 04/05/2007, 12h59
  5. [VBA-E] déclencher une macro a chaque fin d'ecriture dans une cellule
    Par k-eisti dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2007, 20h45

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