CREER UN FICHIER EXCEL ET/OU AJOUTER DES ENREGISTREMENTS (VB.NET)
madbob
Messages postés285Date d'inscriptiondimanche 14 décembre 2003StatutMembreDernière intervention13 mars 2012
-
18 janv. 2005 à 18:57
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 2013
-
16 août 2009 à 17:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 16 août 2009 à 17:52
perso, je n'utilse plus ce genre de manip, j'écris directement un fichier CSV, c'est bien plus simple, rapide, 100% .NET et lisible par toutes les versions d'excel. (double clic sur le fichier et excel l'ouvre dans un classeur, une ptite macro pour la mise en page/forme et hop)
voici un extrait de code d'une source de datalogger que je posterais sous peu. cordialement.
' création du fichier pour excel ( nom du fichier puis : date et heure; courbe1 à 8; les 5 entrées TOR et le retour_chariot)
File.AppendAllText(nom_data, Now.ToString & ";" & y.ToString & ";" & y2.ToString _
& ";" & y3.ToString & ";" & y.ToString & ";" & y2.ToString _
& ";" & y3.ToString & ";" & y.ToString & ";" & y2.ToString _
& ";" & in1 & ";" & in2 & ";" & in3 & ";" & in4 & ";" _
& in5 & ";" & vbCrLf)
cs_bidouille007
Messages postés257Date d'inscriptionjeudi 11 septembre 2008StatutMembreDernière intervention22 décembre 20121 16 août 2009 à 16:05
intéressant pour un début.
Juste que le projet converti en VB 2008 indique quelques erreurs non bloquantes des variables non utilisées d'autres utilisées avant d'avoir eu une affectation et une histoire wrappers personnalisés mis à jour sont disponibles pour les composants référencés suivants : Excel.
Y a pas moyen d'avoir la même chose directement exploitable en vb 2008 ?
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 20 juin 2008 à 18:56
ouep, dsl je pige plus pourquoi je l'ai mis en commentaire :p
enfin c'est corrigé ^^
fcuk76
Messages postés3Date d'inscriptionmardi 11 décembre 2007StatutMembreDernière intervention28 juillet 2008 20 juin 2008 à 04:11
Merci pour cette réponse Max68,
J'arrive maintenant à écrire dans un document Excel, maintenant il me faut lire dedans et là c'est pas évident, quand je veux lire une cellule j'ai une erreur de "type", les cellules semblent être toutes de type "range" et quand je veux mettre leur contenue dans une "string" j'ai une erreur. Une idée ?
Et sinon lorsque j'ai fini de travailler sur ma page et que je la ferme, le process Excel.exe reste lancé, et un pour chaque page ouverte, j'ai trouvé un code (assez long) pour les chercher et les kill, il n'y a pas une méthode plus simple ?
Merci d'avance
A+
cs_max68
Messages postés30Date d'inscriptionsamedi 13 mars 2004StatutMembreDernière intervention20 juin 2008 20 juin 2008 à 02:20
salut fcuk76,
si mes souvenirs sont bons, je crois que c'est un pb de déclaratin de la variable, et en lisant le post d'adn56, il y a une faute de frappe à la 3e ligne:
'oXL = New Excel.Apllication
supprime le premiere caractere, cad l'apostrophe. Ce n'est pas un commentaire, mais bien une déclaration de l'objet.
voili voilou, j'espere avoir trouvé la solus,
a+
fcuk76
Messages postés3Date d'inscriptionmardi 11 décembre 2007StatutMembreDernière intervention28 juillet 2008 19 juin 2008 à 11:00
Salut, bien la source c'est exactement ce qui va me permettre d'avancer, par contre j'ai un soucis, il me met un "declaration attendu" pour le oxl de "oxl = createObject..."
Quelqu'un sait pourquoi ?
Merci
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 24 oct. 2007 à 16:23
j'ai rajouté un petit code de recherche, mais je le trouve trop lent et surtout il faut bien écrire ce que l'on recherche ! sinon que kouik, alors que sous excel on peut rajouter des "*" devant et derriére la valeur à chercher. enfin à suivre....
' ouverture du fichier xls contenu dans la variable FNxls
'Dim oXL As Excel.Application
'oXL = New Excel.Apllication
oXL = CreateObject("Excel.Application")
oXL.Workbooks.Open(filename:=FNxls)
oSheet = oXL.ActiveSheet '
' dimension de la feuille pour recherche
Dim RowMax As Integer = oSheet.UsedRange.Rows.Count 'nombre de lignes rempli dans la feuille
Dim ColMax As Integer = oSheet.UsedRange.Columns.Count 'nombre de colonnes dans la feuille
Dim value As String = Nothing
For colonne As Integer = 1 To ColMax
For ligne As Integer = 1 To RowMax
value = oSheet.cells(ligne, colonne).value
If TextBox2.Text = value Then
message = " trouvé en ligne " & ligne & " de la colonne " & colonne
Exit For
End If
Next
Next
MsgBox(message)
oXL.Quit()
oSheet = Nothing
oBook = Nothing
oXL = Nothing
Adn56
Messages postés1172Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention28 septembre 20131 24 oct. 2007 à 15:09
Cela marche tres bien sous 2005express ! Merci bien pour cette exemple.
Reste en effet à le modifier comme le dis Drikce06, dont j'attends les mise à jours avec impatience :p
Pourrais tu faire un pti post la dessus ? d'avance merci.
Je me vais essayer de chercher des valeurs dans une feuille xls, via ton code ;)
++
Salut, effectivement la manière dont excel est manipulé ici n'est du .Net mais plus du vb6!
En VB.Net fini les creatobject! (d'ailleur faut que je modifie une de mes sources)!
Créer une instance d'excel par exemple:
Dim XlsApp As Excel.Application
XlsApp = New Excel.Apllication
Microsux
Messages postés19Date d'inscriptionmercredi 14 mai 2003StatutMembreDernière intervention 1 septembre 2009 4 juil. 2005 à 10:46
Pareil que Max Guy, ton code m'a bien aide pour mon prog.
Bonne continuation,a+
cs_max68
Messages postés30Date d'inscriptionsamedi 13 mars 2004StatutMembreDernière intervention20 juin 2008 22 févr. 2005 à 11:47
Alala, heureusement qu'il y a des anciens pour apprendre aux jeunes ;)
16 août 2009 à 17:52
voici un extrait de code d'une source de datalogger que je posterais sous peu. cordialement.
' création du fichier pour excel ( nom du fichier puis : date et heure; courbe1 à 8; les 5 entrées TOR et le retour_chariot)
File.AppendAllText(nom_data, Now.ToString & ";" & y.ToString & ";" & y2.ToString _
& ";" & y3.ToString & ";" & y.ToString & ";" & y2.ToString _
& ";" & y3.ToString & ";" & y.ToString & ";" & y2.ToString _
& ";" & in1 & ";" & in2 & ";" & in3 & ";" & in4 & ";" _
& in5 & ";" & vbCrLf)
16 août 2009 à 16:05
Juste que le projet converti en VB 2008 indique quelques erreurs non bloquantes des variables non utilisées d'autres utilisées avant d'avoir eu une affectation et une histoire wrappers personnalisés mis à jour sont disponibles pour les composants référencés suivants : Excel.
Y a pas moyen d'avoir la même chose directement exploitable en vb 2008 ?
20 juin 2008 à 18:56
enfin c'est corrigé ^^
20 juin 2008 à 04:11
J'arrive maintenant à écrire dans un document Excel, maintenant il me faut lire dedans et là c'est pas évident, quand je veux lire une cellule j'ai une erreur de "type", les cellules semblent être toutes de type "range" et quand je veux mettre leur contenue dans une "string" j'ai une erreur. Une idée ?
Et sinon lorsque j'ai fini de travailler sur ma page et que je la ferme, le process Excel.exe reste lancé, et un pour chaque page ouverte, j'ai trouvé un code (assez long) pour les chercher et les kill, il n'y a pas une méthode plus simple ?
Merci d'avance
A+
20 juin 2008 à 02:20
si mes souvenirs sont bons, je crois que c'est un pb de déclaratin de la variable, et en lisant le post d'adn56, il y a une faute de frappe à la 3e ligne:
'oXL = New Excel.Apllication
supprime le premiere caractere, cad l'apostrophe. Ce n'est pas un commentaire, mais bien une déclaration de l'objet.
voili voilou, j'espere avoir trouvé la solus,
a+
19 juin 2008 à 11:00
Quelqu'un sait pourquoi ?
Merci
24 oct. 2007 à 16:23
' ouverture du fichier xls contenu dans la variable FNxls
'Dim oXL As Excel.Application
'oXL = New Excel.Apllication
oXL = CreateObject("Excel.Application")
oXL.Workbooks.Open(filename:=FNxls)
oSheet = oXL.ActiveSheet '
' dimension de la feuille pour recherche
Dim RowMax As Integer = oSheet.UsedRange.Rows.Count 'nombre de lignes rempli dans la feuille
Dim ColMax As Integer = oSheet.UsedRange.Columns.Count 'nombre de colonnes dans la feuille
Dim value As String = Nothing
For colonne As Integer = 1 To ColMax
For ligne As Integer = 1 To RowMax
value = oSheet.cells(ligne, colonne).value
If TextBox2.Text = value Then
message = " trouvé en ligne " & ligne & " de la colonne " & colonne
Exit For
End If
Next
Next
MsgBox(message)
oXL.Quit()
oSheet = Nothing
oBook = Nothing
oXL = Nothing
24 oct. 2007 à 15:09
Reste en effet à le modifier comme le dis Drikce06, dont j'attends les mise à jours avec impatience :p
Pourrais tu faire un pti post la dessus ? d'avance merci.
Je me vais essayer de chercher des valeurs dans une feuille xls, via ton code ;)
++
3 avril 2007 à 15:26
3 avril 2007 à 15:26
En VB.Net fini les creatobject! (d'ailleur faut que je modifie une de mes sources)!
Créer une instance d'excel par exemple:
Dim XlsApp As Excel.Application
XlsApp = New Excel.Apllication
4 juil. 2005 à 10:46
Bonne continuation,a+
22 févr. 2005 à 11:47
Merci beaucoup, Guy, votre source m'a énormément aidé pour mon app'.
Cordialement,
21 janv. 2005 à 09:38
J'attend avec impatience ton code
A+
guy
20 janv. 2005 à 21:04
19 janv. 2005 à 17:19
Guy
18 janv. 2005 à 18:57
et... merci pour le source.
Comme quoi l'informatique ça nous fait rester jeune. Des preuves : je n'ai pas encore .net mais je vous rejoins par la pensée.
Cordialement
madbob