VB.net et fichier excel
Résolu
dommax
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis en train de programmer une petite application VB.Net qui vient remplir les cellule d'un fichier excel.
Un appui sur un bouton crée le fichier Excel
Ci-dessous le code :
"
private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
nom = Me.TextBox1.Text
Dim ApExcel As Object
ApExcel = CreateObject("Excel.application") 'creer un objet
ApExcel.Application.DisplayAlerts = False
ApExcel.Workbooks.Add() 'Ajoute un nouveau classeur.
ApExcel.visible = False
ApExcel.Sheets(1).Cells(1, 1).Value = "Heure"
ApExcel.Sheets(1).Cells(1, 2).Value = "Temperature"
ApExcel.ActiveWorkbook.SaveAs(Filename:=dossier & "\" & nom & ".xls")
ApExcel.ActiveWorkbook.Close()
end sub
"
Ensuite, un appui sur un autre bouton ouvre le fichier excel, ci dessous le code :
"
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim ApExcel As Object
ApExcel = CreateObject("Excel.application")
ApExcel.Visible = True
ApExcel.Workbooks.Open(Filename:=dossier & "\" & nom & ".xls")
End Sub
"
Ces deux premiers codes fonctionnent parfaitement.
Maintenant, j'aimerait creer une fonction que j'appellerai a chaque fois que je veux remplir une cellule (+/- toute les 30 secondes), voila ce que j'ai écrit :
"
Sub temperature(ByVal Valeur1 As Integer)
Dim ApExcel As Object
ApExcel = CreateObject("Excel.application")
ApExcel.ActiveWorkbook.Sheets(1).Cells(ligne, 1).Value = Valeur1
ligne = ligne + 1
End Sub
"
Je precise que toute les variables que vous voyez sont des variable de type public.
Sauf que lorsque j'appelle la fonction temperature, j'ai le message d'erreur "L'exception NullReferenceException n'a pas été gerée. Variable objet ou variable d'un bloc With non définie."
Quelqu'un connnaitrait-il la source de ce probleme ? peut etre auriez vous une proposition de code pour ma fonction temperature(valeur1) ?
Merci par avance.
Cordialement,
Maxime.
Je suis en train de programmer une petite application VB.Net qui vient remplir les cellule d'un fichier excel.
Un appui sur un bouton crée le fichier Excel
Ci-dessous le code :
"
private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
nom = Me.TextBox1.Text
Dim ApExcel As Object
ApExcel = CreateObject("Excel.application") 'creer un objet
ApExcel.Application.DisplayAlerts = False
ApExcel.Workbooks.Add() 'Ajoute un nouveau classeur.
ApExcel.visible = False
ApExcel.Sheets(1).Cells(1, 1).Value = "Heure"
ApExcel.Sheets(1).Cells(1, 2).Value = "Temperature"
ApExcel.ActiveWorkbook.SaveAs(Filename:=dossier & "\" & nom & ".xls")
ApExcel.ActiveWorkbook.Close()
end sub
"
Ensuite, un appui sur un autre bouton ouvre le fichier excel, ci dessous le code :
"
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim ApExcel As Object
ApExcel = CreateObject("Excel.application")
ApExcel.Visible = True
ApExcel.Workbooks.Open(Filename:=dossier & "\" & nom & ".xls")
End Sub
"
Ces deux premiers codes fonctionnent parfaitement.
Maintenant, j'aimerait creer une fonction que j'appellerai a chaque fois que je veux remplir une cellule (+/- toute les 30 secondes), voila ce que j'ai écrit :
"
Sub temperature(ByVal Valeur1 As Integer)
Dim ApExcel As Object
ApExcel = CreateObject("Excel.application")
ApExcel.ActiveWorkbook.Sheets(1).Cells(ligne, 1).Value = Valeur1
ligne = ligne + 1
End Sub
"
Je precise que toute les variables que vous voyez sont des variable de type public.
Sauf que lorsque j'appelle la fonction temperature, j'ai le message d'erreur "L'exception NullReferenceException n'a pas été gerée. Variable objet ou variable d'un bloc With non définie."
Quelqu'un connnaitrait-il la source de ce probleme ? peut etre auriez vous une proposition de code pour ma fonction temperature(valeur1) ?
Merci par avance.
Cordialement,
Maxime.
A voir également:
- VB.net et fichier excel
- Fichier bin - Guide
- Fichier epub - Guide
- Word et excel gratuit - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, j'essaierais ceci:
- ne garder qu'un seul
- ne garder qu'un seul
- ne garder qu'un seul
Dim ApExcel As Object, et le mettre en dehors des trois routines, pour qu'il soit valable pour les trois.
- ne garder qu'un seul
ApExcel = CreateObject("Excel.application")
Je viens de le faire en mettant un "Public ApExcel as Object" dans un module, ca fonctionne egalement mais j'ai toujours le meme soucis...