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

VB.NET Discussion :

Lancer une Macro Excel a partir d'une application VB


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Lancer une Macro Excel a partir d'une application VB
    Bonjour, je suis actuellement en train de réaliser une application sur Visual Basic Express 2010 qui ouvre un fichier excel et execute une macro . L'ouverture du fichier excel se fait correctement, mais en ce qui concerne le lancement de la macro, j'ai passé beaucoup de temps à chercher sur les forums et je n'ai toujours pas trouver de code qui fonctionne. Pouvez vous m'éclairer ? merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Un exemple ici

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    j'ai essayé mais ca ne marche pas, je comprends pas pourquoi.
    voici une partie de mon code :

    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
    Option Explicit On
    Imports Microsoft.Office.Interop
    Imports Excel = Microsoft.Office.Interop.Excel
    Public Class AnnexeICD
        Public MonXl As Excel.Application
     
     Private Sub cmdTriICD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdTriICD.Click
     
            'Ceci initialise la variable et charge Excel en arrière plan
            MonXl = CreateObject("Excel.Application")
            MonXl.Workbooks.Open(Filename:=cheminProvenance.Text)
     
            MonXl.Run("TriICD")
            MonXl.Visible = True
     
        End Sub
    Le fichier excel s'ouvre correctement mais en ce qui concerne la macro ca ne marche pas , je comprends pas dans le code exemple qu'il ne faut pas indiquer le chemin où ce trouve la macro

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Help !

  5. #5
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Est-ce que tu as autorisé les macros dans Excel ? Pcq sinon y a des chances que même avec le meilleur code du monde, ça fonctionnera quand même pas .

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    oui j'y ai bien fait attention, les macros sont activées, du coup je pense que ca viens forcement du code

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    J'ai testé le code il fonctionne très bien.
    Dans Excel la macro est visible suivant l'option "Tous les classeurs ouverts"
    Elle peut être positionnée pour un classeur dont on indique le nom.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut help
    toujours le même problème:
    Le fichier excel s'ouvre correctement, mais la macro ne s’exécute pas , a la place le code de la macro s'ouvre dans une feuille excel

  9. #9
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Je n'ai jamais lancé de macro via vb mais, de ce que je me souviens d'Excel, on peut placer des macros directement sur le classeur ou bien sur une feuille.

    Ta macro est-elle bien dans le classeur et non pas dans une feuille ?

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    placer la macro sur le classeur ? c'est a dire ? mettre un bouton sur une feuille qui exécute la macro ? c'est pas mon but car il s'agit d'une macro qui servira à plusieurs fichiers excel, c'est pourquoi j'ai voulu faire un programme ou on choisi le fichier , on appui sur un bouton, puis le fichier excel s'ouvre et la macro se déclenche, mais ca ne marche pas pour le moment ...

  11. #11
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Ce que je veux dire c'est que quand tu ouvres un classeur Excel (dans Excel je parle) et que tu fais ALT+F11, tu arrives dans l'éditeur de code VBA. Et là, tu as plusieurs "formulaires". Il y a, pour un nouveau classeur, "this workbook", "sheet1", "sheet2", "sheet3" (j'ai Excel en Anglais).

    A côté de ça, il aussi possible d'ajouter des modules.

    Ce que je veux dire, c'est ta macro doit forcément se trouver dans un de ces éléments. Je pense* donc qu'il faut instancier une variable du type correspondant (sheet ou workbook suivant où elle est placée), récupéré l'élément en question et ensuite seulement faire le run de la macro.

    *Comme déjà dit, je n'ai jamais lancé de macro en automation Excel.

Discussions similaires

  1. [Toutes versions] Comment lancer une macro Excel/Access à partir d'un .exe?
    Par victorzecat dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/07/2010, 21h35
  2. [PPT-2003] lancer une macro excel a partir d'un fichier powerpoint
    Par yvespi dans le forum VBA PowerPoint
    Réponses: 10
    Dernier message: 15/06/2010, 15h48
  3. Réponses: 3
    Dernier message: 20/07/2007, 08h58
  4. ouvrir un fichier excel a partir d'une macro
    Par kuhnden dans le forum Access
    Réponses: 6
    Dernier message: 07/06/2007, 15h54
  5. Lancer une macro Excel a partir de php
    Par youcef81 dans le forum Langage
    Réponses: 1
    Dernier message: 21/08/2006, 12h43

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