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 :

pilotage excel avec VB 2008 express


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 9
    Points : 8
    Points
    8
    Par défaut pilotage excel avec VB 2008 express
    Bonjour,
    je galère sur une appli qui utilise excel pour traiter un fichier d'acquisition de 30000lignes.
    J'ai essayé de le traiter en le lisant ligne par ligne, et je me suis aperçu que je devrais gagner beaucoup de temps en utilisant l'ouverture et le traitement par excel.
    Donc, je dois supprimer une colonne, ce a quoi j'arrive facilement, mais je dois insérer 11 lignes en en-tête, et là, le n'arrives pas à inserer des lignes excel.
    les mots clés d'excel, du genre xlDown, ne sont pas reconnus.
    Qui a une idée?
    Je travaille avec VB 2008 express
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            xlApp.Visible = True
            MonClasseur = xlApp.Workbooks.Open(Fichier)
            MaFeuille = MonClasseur.ActiveSheet
            MaFeuille.Rows.Insert(Shift:=xlDown)
    En VBA cela fonctionne comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
    '
    ' Macro1 Macro
    '
    
    '
        Rows("1:1").Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    End Sub
    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Ce fichier d'acquistion de 30 000 lignes est-il au format Excel (.xls) ou au format texte (exemple .csv) ?

    Sinon, essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaFeuille.Rows.Insert(XlDirection.xlDown, XlInsertFormatOrigin.xlFormatFromLeftOrAbove)
    (nécessite : imports Microsoft.Office.Interop.Excel)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Bonjour,
    J'ai réussi a résoudre mon problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    en déclaration, je mets
    Imports xl = Microsoft.Office.Interop.Excel
    Dans la Class Form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Public xlApp As New xl.Application
        Public MonClasseur As xl.Workbook
        Public MaFeuille As xl.Worksheet
        Public MonRange As xl.Range
    ensuite, dans mon sub je mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            xlApp.Visible = True
            MonClasseur = xlApp.Workbooks.Open(Fichier)
            MaFeuille = MonClasseur.ActiveSheet
            Sample = MaFeuille.Range("A3:A3").Value
            For ligne = 1 To 10
                MonRange = MaFeuille.Range("A1:A1")
                MonRange.EntireRow.Insert(xl.XlInsertShiftDirection.xlShiftDown, Type.Missing)
            Next ligne
    Ce qu'il me manquait, c'étaient les XlInsertionShiftDirection.

    Maintenant, je prends les instructions en VBA, et je recherche avec l'explorateur d'objet, de quoi est membre mon expression VBA.
    Ça marche
    Il me manquait de la méthode
    Si ça peut servir à quelqu'un

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    ...c'est ce que je disais.

    Sinon, pour le code, utilise les balises code (c'est l'icone qui représente un dièse dans la barre d'outil de l'éditeur de message : ).

    Et quand le sujet est résolu, clique sur le bouton en bas de la page.

Discussions similaires

  1. Connexion Bd avec Vb 2008 Express Edition
    Par nadia85 dans le forum VB.NET
    Réponses: 7
    Dernier message: 13/02/2011, 22h21
  2. Adapter un script avec VB 2008 Express
    Par gsxr2000 dans le forum VB.NET
    Réponses: 2
    Dernier message: 11/03/2010, 13h39
  3. Problème de base de données avec VB 2008 Express
    Par benito9253 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 27/10/2009, 14h34
  4. Création Dll avec VC++ 2008 express en C
    Par azimut2 dans le forum Windows
    Réponses: 1
    Dernier message: 20/09/2009, 15h51
  5. Réponses: 0
    Dernier message: 02/10/2008, 01h35

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