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 :

Comment utiliser des données venant d'un classeur Exel (.xlxm)


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut Comment utiliser des données venant d'un classeur Exel (.xlxm)
    Bonjour à tous

    Cela fait quelques semaines que je galère avec une application que je voudrais créer.
    J'ai trouvé plein d'exemples qui provoquent plein d'erreurs lorsque j’essaie de les utiliser
    J'ai bien ajouté une référence (COM) "Microsoft Exel 16.0 Object Library" et inséré "Imports Microsoft.Office.Interop.Excel" au bon endroit
    J'ai commencé de transcrire le code d'un exemple pris dans OfficeVB.pdf que j'ai trouvé dans developper.net
    Ci dessous un début de code qui provoque déjà une erreur
    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Imports Microsoft.Office.Interop.Excel
    Public Class Form1
         Private Sub cmdTrace_Click(sender As Object, e As EventArgs) Handles cmdTrace.Click
            'Appel d'Exel et attribution des variables
            Dim AppExcel As New Exel.Application
     
        End Sub
    End Class

    La partie "Exel.Application" est surlignées en rouge et signale [Le type 'Exel.Application' n'est pas défini]

    Je suis consterné car ça bogue dès le début, je ne comprends pas pourquoi et je voudrais bien trouver un exemple qui fonctionne avec Exel 2016

    Quelqu'un peut-il m'aider SVP

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut
    Pas de réponse !!!
    C'est pas grave, j'ai fini par trouver un moyen de communiquer avec un fichier Exel.
    J'ai pu voir des tas d'exemples qui ne fonctionnaient pas, et je suis tombé enfin sur le bon exemple.
    Cet exemple utilise la création d'un objet "Exel.Application", et là, pas besoin d'importer de références qui ne fonctionnent pas (dans mon cas).

    Voici le code que j'ai utilise pour ouvrir un fichier Exel, et rechercher une cellule contenant une date de naissance, qui utilise cette méthode
    Code VB.NET : 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
    27
       Public Nom, Prénom As String
       Public CeJour As Date
     
       Public Sub Main()
            Dim ApExcel As Object
            ApExcel = CreateObject("Excel.application")
            ApExcel.Visible = False
            ApExcel.Workbooks.Open(Filename:="Anniv.xls")
            Dim Trouvé As Boolean
            Dim nbLignes, A As Integer
            Dim i As Integer = 1
            Do
                i += 1
                Nom = ApExcel.Sheets(1).Cells(i, 1).Value
                Prénom = ApExcel.Sheets(1).Cells(i, 2).Value
                CeJour = ApExcel.Sheets(1).Cells(i, 3).Value
                If (CeJour.Day = Today.Day) And (CeJour.Month = Today.Month) Then
                    Trouvé = True
                    Exit Do
                End If
            Loop While Nom <> ""
            nbLignes = i - 1
            ApExcel.Quit()
            If Trouvé Then
                Anonce.ShowDialog()
            End If
        End Sub

    Et voici le lien pour ceux que ça intéresse sur la documentation sur Objet Application(Exel)
    https://msdn.microsoft.com/fr-fr/vba...n-object-excel

  3. #3
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    598
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 598
    Points : 2 016
    Points
    2 016
    Par défaut
    Super que vous ayez trouver la solution.

    Vous pouvez aussi chercher EPPlus.
    C'est une lib C# native qui ne nécessite pas d'avoir Excel installé sur la station de votre programme, contrairement à automation.
    --
    vanquish

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/10/2017, 11h13
  2. Réponses: 9
    Dernier message: 23/03/2017, 15h44
  3. Réponses: 1
    Dernier message: 01/10/2011, 14h27
  4. [XL-2007] comment migrer des données entre plusieurs classeurs excel
    Par Iichham dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/06/2011, 15h28
  5. [Toutes versions] Comment importer des données d'un classeur fermé
    Par demongin dans le forum Macros et VBA Excel
    Réponses: 27
    Dernier message: 06/06/2009, 01h00

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