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

Excel Discussion :

[C#][VS2010-W7][Automation] Problème d'accès pour l'ajout d'un module VBA [XL-2010]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut [C#][VS2010-W7][Automation] Problème d'accès pour l'ajout d'un module VBA
    Bonjour,

    Je vais essayer de faire court....
    [Windows 7, Visual Studio (VS) 2010 et Excel 2010]

    Sous VS2005 et Access2003, je n'ai eu aucun soucis pour ajouter un module avec une sub() puis la lancer depuis un programme C#.

    J'ai modifier un peu le code sous VS 2010 avec Excel 2010.

    Et là je suis quasi sûr à 98% qu'il s'agit d'un problème de droit d'accès :

    A l'ajout de la ligne pour créer le nouveau module je tombe en Exception.

    Voici un exemple de 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
                        //
                        // Ajout d'un nouveau module.
                        oModule = app.ThisWorkbook.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule);
                        // Création de la macro
                        sCode =
                        "Sub Position_graph()\r\n" +
                        "'\r\n" +
                        "' Position_graph Macro\r\n" +
                        "' Macro enregistrée le 10/02/2012 par Chtulus\r\n" +
                        "'\r\n" +
                        "'\r\n" +
                        "'\r\n" +
                            "ActiveSheet.ChartObjects(\"Graphique 1\").Activate\r\n" +
                            "ActiveChart.ChartArea.Select\r\n" +
                            "ActiveSheet.Shapes(\"Graphique 1\").ScaleWidth 1.5, msoFalse, _\r\n" +
                                "msoScaleFromBottomRight\r\n" +
                            "ActiveSheet.Shapes(\"Graphique 1\").ScaleHeight 1.5, msoFalse, _\r\n" +
                                "msoScaleFromBottomRight\r\n" +
                            "ActiveSheet.Shapes(\"Graphique 1\").ScaleWidth 0.8, msoFalse, _\r\n" +
                                "msoScaleFromTopLeft\r\n" +
                            "ActiveSheet.Shapes(\"Graphique 1\").ScaleHeight 0.8, msoFalse, _\r\n" +
                                "msoScaleFromTopLeft\r\n" +
                        "End Sub";
                        // Ajout de la macro dans le module
                        oModule.CodeModule.AddFromString(sCode);
    L'exception COM ne parle jamais beaucoup malheureusement !

    {"Exception from HRESULT: 0x800A03EC"}
    J'ai tenté une connexion avec le compte "Administrateur" (Il a moins de droit que mon compte sur mon poste Oo) mais dans ce cas je ne peux écrire dans une feuille, je tombe en exception direct (Si, si)) ou de modifier les propriétés Excel rien ni fait !

    Je rajoute que pour écrire ou utiliser des Objets sur les feuilles avec mon compte perso il n'y a pas de soucis (Contrairement au compte Admin, donc je dois être Super Admin en plus ).
    C'est juste un problème d'accès pour moi.

    J'ai surfer sur le Net hier soir mais y'a tout et rien, soit je fatigue, soit je fatigue

    Qu'est-ce que j'ai zappé ?

    Merci par avance,
    Cordialement,
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    A tout hasard, as tu essayé en cochant l'option "Accès approuvé au modèle d'objet du projet VBA" ?
    Nom : Nouvelle image (1).jpg
Affichages : 121
Taille : 59,2 Ko

  3. #3
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Bonjour jfontaine,

    Je vais voir comment taper cette fonctionnalité en C# mais merci

    Tout doit être automatisé pour des traitement nocturne.

    J'ai juste besoin d'idées ! Je testerais cette aprem, voir dans ce sens !

    Cordialement,


    Ps : Je voulais dire que c'est du C# du début à la fin donc....
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Tu ne peux pas automatiser cette option, il te fait l'activer sur le poste. (option de sécurité)

  5. #5
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Merci,

    J'ai déjà tenté les options de sécurités !

    Rien de mieux !

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    Juste pour être sûr que toute les options de sécurité ait bien été configuré voir :
    Programmation d'accès au projet VBA de Office est refusé
    Cette configuration doit être fait sur le projet VBA du fichier Excel utilisé en C#

    Sinon pour avoir plus d'information sur l'exception, est ce qu'il est possible de capturer l'exception et d'afficher la pile d'appel ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    try
    {
         //le code qui plante
    }catch(Exception e)
    {
       MessageBox.Show("Exception " + e.Message + " Stack Trace: " +  e.printStackTrace());
    }

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/10/2010, 14h04
  2. Réponses: 2
    Dernier message: 10/07/2008, 11h36
  3. [WD10] Problème avec accès natif pour windev
    Par nouhoun dans le forum WinDev
    Réponses: 1
    Dernier message: 11/06/2008, 21h36
  4. Problème d'accès Excel pour Import
    Par Mohammmed dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 04/08/2007, 10h47
  5. Réponses: 2
    Dernier message: 10/09/2006, 13h28

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