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 :

Lancer macro à l'ouverture de certains fichiers [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 438
    Par défaut Lancer macro à l'ouverture de certains fichiers
    Bonjour,
    Je reçois des fichiers bancaires au format XLS qui ont tous un nom différent, qui commence par "CA20" (CA20191115.../CA20191116...), je souhaite qu'en double cliquant sur le fichier, une macro "Init" se lance au démarrage d'Excel.
    Est-ce possible ?
    Merci d'avance pour votre aide

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,

    Avec ce code dans Thisworkbook cela devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Workbook_Open()
        Call init
    End Sub

  3. #3
    Membre éclairé Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 438
    Par défaut
    Je précise que ce n'est jamais le même fichier. Donc Workbook_Open() où le mettre ?
    Que j'ai créée un fichier XLA, il s'ouvre avant le XLS.

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Donc Workbook_Open() où le mettre ? : dans ton fichier XLA

  5. #5
    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 à tous,

    regarde du coté des méthodes d'Application.
    Dans ThisWorkbook :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private WithEvents App As Application
     
    Private Sub Workbook_Open()
        'récupérer l'application Excel à l'ouverture
        Set App = Application
    End Sub
     
    ' exemples événements Application
    '
    Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
        'ouverture d'un classeur
        Debug.Print Wb.Name
        Stop
    End Sub
    Pour être effectif Workbook_Open() doit avoir été exécuté. La lancer manuellement pour pouvoir tester sans devoir fermer-ouvrir.
    A relancer si tu modifies un des codes concernés.

    App_WorkbookOpen sera exécuté à chaque ouverture de classeur quel qu'il soit, même un xlsx.
    eric

  6. #6
    Membre éclairé Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 438
    Par défaut
    Merci eriiic, et à tout ceux qui m'ont répondu.
    C'est parfait. Le code fonctionne parfaitement


    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 WithEvents App As Application
     
    Private Sub Workbook_Open()
        'récupérer l'application Excel à l'ouverture
        Set App = Application
    End Sub
     
    ' exemples événements Application
    '
    Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
        'ouverture d'un classeur
        Debug.Print Wb.Name
            If Left(Wb.Name, 4) = "CA20" Then
                Call InitVariables
            End If
        'Stop
    End Sub

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

Discussions similaires

  1. [PPT-2003] Lancement d'une macro à l'ouverture d'un fichier
    Par formabox dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 21/07/2009, 16h49
  2. Macro Excel : ouverture d'un fichier .txt
    Par johannj dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/12/2008, 10h28
  3. Lancer une macro à l'ouverture d'un fichier word
    Par beegees dans le forum VBA Word
    Réponses: 5
    Dernier message: 15/09/2008, 10h16
  4. macro à l'ouverture d'un fichier ".csv"
    Par Tibaldus dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/09/2007, 11h36
  5. Lancer une macro à l'ouverture d'un fichier
    Par Tibaldus dans le forum VBA Word
    Réponses: 2
    Dernier message: 12/09/2007, 11h27

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