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

Windows Forms Discussion :

Feuille X dans Excel en VB.NET


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Points : 54
    Points
    54
    Par défaut Feuille X dans Excel en VB.NET
    Bonjour à tous,

    Voici, j'ai un bout de code qui lit un fichier Excel pour l'ajouter dans une table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            Dim m_sConn1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & strFilePath & ";" & _
                   "Extended Properties=""Excel 8.0;HDR=YES"""
     
            Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
            conn1.Open()
            Dim cmd1 As New System.Data.OleDb.OleDbCommand("Select * From [Feuil1$]", conn1)
            Dim rdr As OleDbDataReader = cmd1.ExecuteReader
            Do While rdr.Read()
                 ...
            Loop
    Ma question est... y a-t-il quelqu'un qui connait un truc pour être capable de lire la première feuille d'un fichier Excel, peut importe son nom?

    Quelque chose du genre : Select * From [Worksheet(0)$]...

    Quelqu'un a une idée?

    Merci

  2. #2
    Membre habitué Avatar de Capitaine Kirk
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 128
    Points
    128
    Par défaut
    Bonsoir

    Et tous simplement en utilisant une variable passer en paramètre ?

    un truc du genre :

    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
    Imports System.Data.OleDb
     
    Module Module1
        Dim strFilePath As String = "MonChemin"
        Dim Feuille As String = "Feuil1"
        Sub Main()
            MySub(strFilePath, Feuille)
        End Sub
     
        Sub MySub(ByVal Chemin As String, ByVal Table As String)
            Dim m_sConn1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=" & strFilePath & ";" & _
           "Extended Properties=""Excel 8.0;HDR=YES"""
     
            Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
            conn1.Open()
            Dim cmd1 As New System.Data.OleDb.OleDbCommand("Select * From[" & Feuille & "$]", conn1)
            Dim rdr As OleDbDataReader = cmd1.ExecuteReader
            Do While rdr.Read()
     
            Loop
        End Sub
    End Module

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Points : 54
    Points
    54
    Par défaut
    Bonne idée mais ça ne prendra pas automatiquement la première feuille du fichier Excel.

    Je cherche vraiment un bout de code qui ferait que VB.NET prend la première feuille du fichier Excel, peut importe son nom.

  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
    Tu peux essayer de récupérer la structure de ta source de données Excel :
    Récupération de la structure de la source de données (métadonnées) d'Excel

    A partir de là, tu peux essayer de retrouver quelle est la première feuille (en fonction des noms de colonnes peut-être ?), mais je ne pense pas qu'il y ait l'information de position de la feuille, car dans ton cas, tu considères Excel comme une source de données et donc cela ne me semble pas étonnant qu'il n'y ait pas ce genre d'information.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Points : 54
    Points
    54
    Par défaut
    Je laisse tomber, en effet, il se peut que cette propriété "Nom de la feuille" ne soit pas paramétrable dans la structure Excel.

    Je vais forcer mes usagers à indiquer le nom de la feuille.

    Merci pour votre aide.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/01/2023, 13h12
  2. [Débutant] Effacer cellule vide dans excel depuis vb.net
    Par tarrex dans le forum VB.NET
    Réponses: 1
    Dernier message: 12/03/2012, 19h39
  3. Feuille Flottante dans Excel
    Par curt dans le forum Conception
    Réponses: 8
    Dernier message: 24/12/2009, 11h31
  4. Réponses: 6
    Dernier message: 11/03/2009, 13h43
  5. Nombre de feuilles maximum dans Excel ?
    Par Le Djé dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/10/2005, 22h30

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