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 :

VB.net/Excel Ajouter feuille modèle


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut VB.net/Excel Ajouter feuille modèle
    Bonjour,

    A chaque fois que j'essaie d'ajouter une feuille à un classeur excel à partir d'un modèle que j'ai crée j'ai une:
    Exception de HRESULT : 0x800A03EC
    Est-ce que quelqu'un pourrait m'expliquer exactement à quoi ça correspond j'ai du mal à comprendre, ainsi qu'une démarche à suivre pour que ça marche.
    SVP. Merci beaucoup.

    PS: J'utilise la méthode Worksheets.Add(Type:="Chemin du classeur") et ça me met cette exception.

  2. #2
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 777
    Points
    1 777
    Par défaut
    Bonjour.

    Peux-tu poster le code complet ?
    --> lancement de l'appli excel
    --> création du workbooks
    ...

    Comme ça c'est un peu court pour t'aider ;-)

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Private Sub verifierfeuilles()

    Dim appexcel As Microsoft.Office.Interop.Excel.Application
    appexcel = CreateObject("excel.application")
    appexcel.Visible = False
    Dim classeur As Microsoft.Office.Interop.Excel.Workbook
    classeur = GetObject("C:\Documents and settings\Classeur contrôles\Paramétrage CQ.xls")
    Dim feuillesélectionnée As String
    feuillesélectionnée = choixcontrôlecb.Text
    Dim feuillevérifiée As Microsoft.Office.Interop.Excel.Worksheet
    Dim feuille As Microsoft.Office.Interop.Excel.Worksheet

    'Ouverture de la feuille si elle existe

    For Each feuillevérifiée In classeur.Worksheets
    If feuillevérifiée.Name = feuillesélectionnée Then
    Me.Hide()
    appexcel.Visible = True
    appexcel.Workbooks.Open("C:\Documents and settings\Classeur contrôles\Paramétrage CQ.xls")

    For Each feuille In appexcel.ActiveWorkbook.Worksheets
    If feuille.Name = feuillesélectionnée Then
    feuille.Activate()
    End If

    Next feuille
    Exit Sub
    End If
    Next feuillevérifiée

    'Création d'une nouvelle feuille si elle n'existe pas

    Me.Hide()
    appexcel.Visible = True
    appexcel.Workbooks.Open("C:\Documents and settings\Classeur contrôles\Paramétrage CQ.xls")
    Dim nouvellefeuille As Microsoft.Office.Interop.Excel.Worksheet
    nouvellefeuille = appexcel.ActiveWorkbook.Worksheets.Add(Type:="C:\Documents and settings\Classeur contrôles\Modèle Lots contrôles.xlt")
    nouvellefeuille.Name = feuillesélectionnée


    End Sub

    Voici le code en question. Tout le début marche bien, c'est cette ligne d'ajout qui provoque l'exception. Lorsque je laisse uniquement "Add" sans précision j'ai bien une feuille vierge excel qui est ajoutée et renomée correctement. Si quelqu'un a une petite idée...
    Merci beaucoup ça fait un moment que je galère et vais de rubriques d'aide en tutoriels, forums... Sans succès

  4. #4
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 777
    Points
    1 777
    Par défaut
    Bonjour.

    Il me semble que la mêthode Add n'accepte pas ce type d'argument.

    expression.Add(Before, After, Count, Type)

    Dans l'aide d'excel j'ai :
    Type --> Argument de type Variant facultatif. Type de la feuille. Il peut s'agir de l'une des constantes XlSheetType suivantes : xlWorksheet, xlExcel4MacroSheet ou xlExcel4IntlMacroSheet. La valeur par défaut est xlWorksheet.

    Si ce que tu veux faire c'est ajouter un feuille basée sur un modèle personnel, le plus simple est peut être de copier cette feuille dans ton classeur de destination.

    cdt.

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci Olsimare ,

    J'ai suivi ton conseil et ça marche en faisant comme ça. Ca m'étonne un peu qu'avec la méthode "Add "je ne puisse pas ajouter de modèle perso car dans les aides que j'ai consulté ça avait l'air possible mais bon... Cette solution palie bien à mon problème.
    Si toutefois quelqu'un à une autre réponse, je prends.

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

Discussions similaires

  1. [AC-2010] Ajout feuille sous excel a partir d'Access
    Par texas2607 dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/07/2012, 17h28
  2. Réponses: 1
    Dernier message: 02/09/2009, 10h35
  3. [Excel] Ajout de feuille et requete
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2006, 11h28
  4. [VB.NET] Ajouter feuille à un document Excel
    Par HULK dans le forum Windows Forms
    Réponses: 1
    Dernier message: 16/10/2006, 15h17
  5. [CR] export Excel (plusieurs feuilles)
    Par kaiserben dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 21/11/2005, 15h03

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