CREER UN FICHIER EXCEL ET/OU AJOUTER DES ENREGISTREMENTS (VB.NET)

madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012 - 18 janv. 2005 à 18:57
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 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.

https://codes-sources.commentcamarche.net/source/28931-creer-un-fichier-excel-et-ou-ajouter-des-enregistrements-vb-net

Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
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és 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
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és 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
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és 3 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 28 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és 30 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 20 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és 3 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 28 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és 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
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és 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
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 ;)
++
Utilisateur anonyme
3 avril 2007 à 15:26
Ok j'avais pas vu que la source avait plus de 2 ans!
Utilisateur anonyme
3 avril 2007 à 15:26
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és 19 Date d'inscription mercredi 14 mai 2003 Statut Membre Derniè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és 30 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 20 juin 2008
22 févr. 2005 à 11:47
Alala, heureusement qu'il y a des anciens pour apprendre aux jeunes ;)

Merci beaucoup, Guy, votre source m'a énormément aidé pour mon app'.

Cordialement,
cs_guyvdv Messages postés 101 Date d'inscription samedi 16 mars 2002 Statut Membre Dernière intervention 19 mai 2011 1
21 janv. 2005 à 09:38
c'est vrai, je suis debutant en vb.net et surtout en programmation object
J'attend avec impatience ton code

A+
guy
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
20 janv. 2005 à 21:04
a mon avis ya une facon largement plus ".net" d'écrire ca.... jvé chercher pis jvous tient au courant si c le cas :)
cs_guyvdv Messages postés 101 Date d'inscription samedi 16 mars 2002 Statut Membre Dernière intervention 19 mai 2011 1
19 janv. 2005 à 17:19
merci et a bientot en .net
Guy
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012
18 janv. 2005 à 18:57
Bonjour guyvdv et bonne année vous et à la p'tiote dernière
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
Rejoignez-nous