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

Signaler
Messages postés
285
Date d'inscription
dimanche 14 décembre 2003
Statut
Membre
Dernière intervention
13 mars 2012
-
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
-
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

Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1
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)
Messages postés
257
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
22 décembre 2012
1
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 ?
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1
ouep, dsl je pige plus pourquoi je l'ai mis en commentaire :p
enfin c'est corrigé ^^
Messages postés
3
Date d'inscription
mardi 11 décembre 2007
Statut
Membre
Dernière intervention
28 juillet 2008

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+
Messages postés
30
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
20 juin 2008

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+
Messages postés
3
Date d'inscription
mardi 11 décembre 2007
Statut
Membre
Dernière intervention
28 juillet 2008

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
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1
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
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1
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 ;)
++
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
6
Ok j'avais pas vu que la source avait plus de 2 ans!
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
6
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
Messages postés
20
Date d'inscription
mercredi 14 mai 2003
Statut
Membre
Dernière intervention
1 septembre 2009

Pareil que Max Guy, ton code m'a bien aide pour mon prog.
Bonne continuation,a+
Messages postés
30
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
20 juin 2008

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,
Messages postés
101
Date d'inscription
samedi 16 mars 2002
Statut
Membre
Dernière intervention
19 mai 2011
1
c'est vrai, je suis debutant en vb.net et surtout en programmation object
J'attend avec impatience ton code

A+
guy
Messages postés
520
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
3 mars 2008
2
a mon avis ya une facon largement plus ".net" d'écrire ca.... jvé chercher pis jvous tient au courant si c le cas :)
Messages postés
101
Date d'inscription
samedi 16 mars 2002
Statut
Membre
Dernière intervention
19 mai 2011
1
merci et a bientot en .net
Guy
Messages postés
285
Date d'inscription
dimanche 14 décembre 2003
Statut
Membre
Dernière intervention
13 mars 2012

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