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 :

Manipulation excel VBNET


Sujet :

VB.NET

  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Par défaut Manipulation excel VBNET
    bonjour,
    j'ai un projet qui consiste à réaliser une interface graphique à l'aide de VB.net et qui accède à un tableau excel chaque trois minutes et trace un graphe en temps réel. Le fichier excel est rempli chaque 3mn par une nouvelle valeur (niveau d'eau dans un réservoir).
    -Est-ce que quelqu'un a une idée?
    En faite j'ai commencé à faire cette interface et j'ai un problème au niveau de récupération des données d'un cellule du tableau excel et actualiser cette action automatiquement chaque trois minutes.
    merci pour votre aide

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    En faite j'ai commencé à faire cette interface et j'ai un problème au niveau de récupération des données d'un cellule du tableau excel et actualiser cette action automatiquement chaque trois minutes
    Salut ^^

    Je ne comprends pas cette phrase, tu n'arrives à sélectionner une cellule pour récupérer la valeur qu'elle contient, ou tu ne vois pas comment insérer une donnée dans une cellule précise ou tu ne vois pas l'algorithme dont tu as besoin pour répondre à ton problème ?

  3. #3
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Par défaut
    salut,
    j'arrive pas à savoir l'instruction qui peut me permettre de récupérer la valeur d'une cellule du tableau
    à+

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Voilà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonWorkSheet.Cells(numeroDeLaLigne, numeroDeLaColonne).Value
    C'est ce que tu voulais ?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    Par défaut
    Bonjour

    Tu peux aussi utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TonWorkSheet.Range("A1").Value
    Nasty

  6. #6
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Par défaut
    salut,
    j'ai essayé ces deux instructions, mais il les soulignes comme erreurs, j'arrive pas à compiler
    voici mon 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    Option Explicit On
    Option Strict On
     
    Imports Microsoft.Office.Interop
    Imports System
    Imports System.ComponentModel
    Imports System.Drawing
    Imports System.Runtime.InteropServices
    Imports System.Text
    Imports System.Windows.Forms
    Imports Microsoft.Office.Interop.Excel
     
    Public Class Form1
     
        Dim Xlsheet As Microsoft.Office.Interop.Excel.Worksheet
     
        'Fonction ouvrir Fichier
        Private Sub OuvrirFichier()
            'Déclaration des variables
            Dim xlsapp As Microsoft.Office.Interop.Excel.Application
            Dim Xlsbook As Microsoft.Office.Interop.Excel.Workbook
     
            'lancement d'excel et ouverture du fichier
            xlsapp = New Microsoft.Office.Interop.Excel.Application
            Xlsbook = xlsapp.Workbooks.Open("C:\fichier.xls")
     
            xlsapp.Visible = True
            Xlsheet.Range("A1").Value()
     
            'déchargement d'excel
     
            Xlsbook = Nothing
     
     
            xlsapp = Nothing
        End Sub
        'Ouvrir le fichier après click sur Le menu.
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            OuvrirFichier()
     
        End Sub
    End Class
    merci et à +

  7. #7
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Bin forcément que ça marche pas puisque tu ne mets rien dans xlSheet.

    Tu dois y mettre une feuille de ton classeur. Sinon tu cherches dans le vide.

    Y a des tutos complets qui traite du pilotage d'excel en long et en large. Google est ton ami ;-)

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    C'est normal, tu ne lui indiques pas la feuille concernée par le traitement. Rajoute cette ligne juste en dessous de la déclaration de ton workbook :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Xlsheet= Xlsbook.activeSheet

  9. #9
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Par défaut
    beein comment dois-je faire ceci!!
    "je suis débutant et même des choses débiles me dépasse"

  10. #10
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Par défaut
    Il m'a demandé d'écrire cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Xlsheet = CType(Xlsbook.ActiveSheet, Worksheet)
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Xlsheet = Xlsbook.ActiveSheet
    mais il génère un erreur aussi!!!

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Bizarre que tu ne puisses pas avoir la bonne méthode pour la feuille...
    Remplace pour voir cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     xlsapp = New Microsoft.Office.Interop.Excel.Application
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlsapp = CreateObject("Excel.Application")

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    Par défaut
    Pour ouvrir un fichier Excel et le diriger faut faire comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Imports xls = Microsoft.Office.Interop.Excel
    Private appXls As xls.Application
    Private sheetXls As xls.Worksheet
     
    appXls = New xls.Application   'ouverture d'excel
    appXls.Visible = True 'on affiche la fenetre d'excel
    appXls.Workbooks.Open("C:\test.xls") 'ouverture du fichier excel
    sheetXls = CType(appXls.ActiveWorkbook.Worksheets("rapport"), xls.Worksheet) 'on selectionne la page "rapport"
     
    sheetXls.Range("A1").Value = "test"
    Nasty

  13. #13
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Si je n'ai pas écrit de ligne de code dans ma réponse, c'est pour la simple et bonne raison que nous ne connaissons pas parfaitement ton application et le cadre dans lequel tu la développes. Nous ignorons donc une bonne partie des contraintes. Par exemple, p-e que la feuille sur laquelle se trouve la cellule que dont tu veux lire la valeur n'est pas la feuille active. Et donc la ligne donnée gentiment par sebnantes ne servirait à rien.

    Je vais donc me répéter mais va dans google et cherche un peu.

    Par exemple ceci : vb.net pilotage excel (requête sur ce lien)

    Sur cette page, tu vas trouver ce lien qui t'explique absolument tout.

    Une fois que tu auras compris ce qu'il faut faire et que tu ne reproduiras pas bêtement (pas dans le sens péjoratif hein!) ce que l'on écrit ici, tu seras un champion du pilotage excel ;-)

    En bref, bonne lecture

  14. #14
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Merci Griftou je viens de découvrir la manipulation pour C# ^^ (petite joke)

  15. #15
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Ah ouais, c'est du C#

    J'ai tellement l'habitude de lire les tutot en C# et de traduire automatiquement en .NET que j'avais pas fait gaffe.

    Ma faute.

    Mais bon, c'est presque pareil puis y a des traducteurs partout^^.

    Allez, pour me repentir, voici un lien pour du VB.

    Notez que je reste toujours sur developpez.com. Je ne vais donc pas les chercher bien loin ^^

  16. #16
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 19
    Par défaut
    merci à tous pour votre help

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

Discussions similaires

  1. Manipulation d'Excel : VBNet ou VBA ?
    Par House MD dans le forum VB.NET
    Réponses: 3
    Dernier message: 24/09/2008, 13h06
  2. [c#] Manipuler Excel
    Par Louisa dans le forum Contribuez
    Réponses: 3
    Dernier message: 26/04/2007, 16h30
  3. Manipuler Excel
    Par BilTCD dans le forum C#
    Réponses: 1
    Dernier message: 18/01/2007, 16h01
  4. accélerer des manipulations Excel
    Par pschmidtke dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/06/2006, 20h02
  5. accélerer des manipulations Excel
    Par pschmidtke dans le forum Access
    Réponses: 5
    Dernier message: 27/06/2006, 15h15

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