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 :

Problème ouverture feuille Excel (instance existante) [Débutant]


Sujet :

VB.NET

  1. #41
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour Bruno,

    Génial d'appeler la macro en lui passant des arguments ! Je n'y avais pas pensé ...

    Pour ce qui est de l'erreur, je l'ai provoquée chez moi : elle se produit lorsque la feuille Excel est déjà ouverte par Excel lui-même ou par une autre application.

    En fait, 3 situations existent et mes codes sont différents.
    1. La feuille Excel n'est pas ouverte
    2. La feuille Excel est déjà ouverte par mon programme
    3. La feuille Excel est déjà ouverte par Excel lui-même (ou par une autre application, peut-être, à vérifier)

    Je te remets ici mes codes correspondant à ces situations (La macro UneMacro ne fait qu'afficher, par une MsgBox, la chaine qui lui est passée, elle n'a bien évidemment rien à voir avec l'erreur que tu as rencontrée).

    La feuille Excel n'est pas ouverte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Private Sub BExcel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BExcel.Click
            XLSAPP = New Excel.Application
            XLSAPP.Visible = True
            XLSAPP.Workbooks.Open("D:\Tmp\ProbExcel\Test.xls")  'ouvir le fichier XLS
           '  .............
            XLSAPP.Run("UneMacro", "Coucou")  ' appel de la macro en lui passant les arguments ....
            '  .............
        End Sub
    La feuille Excel est déjà ouverte par mon programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Private Sub BFeuilleDejaAccedee_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BFeuilleDejaAccedee.Click
            If Not XLSAPP Is Nothing Then
                If XLSAPP.ActiveWorkbook.Name = "Test.xls" Then
                    XLSAPP.Visible = True
            '  .............
                    XLSAPP.Run("UneMacro", "Coucou")  ' appel de la macro en lui passant les arguments ....
            '  .............
                End If
            End If
        End Sub
    La feuille Excel est déjà ouverte par Excel lui-même
    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
        Private Sub BFeuilleOuverte_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BFeuilleOuverte.Click
            Dim ExcelInstances As Process() = Process.GetProcessesByName("EXCEL")
            If ExcelInstances.Count = 0 Then
                Exit Sub
            End If
            XLSAPP = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application")
     
            If Not XLSAPP Is Nothing Then
                If XLSAPP.ActiveWorkbook.Name = "Test.xls" Then
                    XLSAPP.Visible = True
            '  .............
                    XLSAPP.Run("UneMacro", "Coucou")  ' appel de la macro en lui passant les arguments ....
           '  .............
                End If
            End If
        End Sub
    En respectant ces différents cas, il n'y a pas d'erreur.

    J'espère que ceci te permettra de passer une bonne soirée ...

  2. #42
    Membre confirmé
    Homme Profil pro
    Trader / Formateur / Développeur Options CBOE
    Inscrit en
    Septembre 2018
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Trader / Formateur / Développeur Options CBOE
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2018
    Messages : 86
    Par défaut
    Merci Phil
    En fait j'ai les essais avec VS et Excel tous deux en mode Admin ainsi que tous deux en mode 'normal' et ça marche.
    Je ne comprends juste pas pourquoi ça ne fonctionne pas si VS est en mode Admin et Excel pas... là ça m'envoie cette exception 'cryptique'
    Bon weekend à toi

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Probléme ouverture fichier excel créé avec Jasperreport
    Par abderahime_13 dans le forum Jasper
    Réponses: 0
    Dernier message: 06/05/2010, 11h48
  2. [XL-2003] ouverture feuille excel à partir d'un userform
    Par mdambreville dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/05/2009, 18h55
  3. Problème rafraichissement feuille excel
    Par xav30 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/12/2007, 17h58
  4. Problème ouverture fichier excel
    Par modaffar dans le forum VB.NET
    Réponses: 10
    Dernier message: 05/07/2007, 10h20
  5. [VBA EXCEL]Ouverture feuille excel dans fenêtre maximale
    Par Lexot2 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/04/2007, 18h51

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