Gerer une base de donné et historique via visual studio 2008 vb net

bagneux49 Messages postés 16 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 28 mars 2011 - 18 mars 2011 à 10:34
bagneux49 Messages postés 16 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 28 mars 2011 - 28 mars 2011 à 10:32
salut a tous,
tout d'abord je ne sais pas si je suis dans la bonne rubrique.
ensuite pour mon problème alors :
j'ai un système client-serveur et je voudrai importer des données a partir d'une feuille excel.
ensuite je voudrait conservé un historique des échanges

sa c'était pour le contexte après je recherche "simplement" un tuto qui m'expliquerait comment faire sa... (selectionner le fichier xls,recherche de cellule, ajout de ligne, ....)

j'espère avoir été clair
merci d'avance

18 réponses

brm63 Messages postés 23 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 avril 2011
19 mars 2011 à 22:47
Salut,
Pour sélectionner un fichier xls, reccherche insertion, en gros tu veux t'amuser avec Excel tu as pas mal de lien comme :
http://devellop-info.doomby.com/categorie,codes-visual-basic-net,4862707.html

ou encore http://plasserre.developpez.com/cours/vb-net/ pour les cours.

Si non pour la manipulation et recherche des cellules il y a ça:

monExcel.Worksheets("Feuil1").cells(rows, 2).value = quelquechose
monExcel.ActiveWorbook.Sheets.Range("A1","B2")
Pour supprimer a la place du value tu peut mettre Delete pour inserer Insert pour Selectionner Select

Ma reponse est pas tres construite je l'avoue mais tu as quelques élément qui peuvent t'aider j'espère
0
brm63 Messages postés 23 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 avril 2011
20 mars 2011 à 09:25
Heu petite erreur, oublie le insert
0
bagneux49 Messages postés 16 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 28 mars 2011
21 mars 2011 à 08:47
salut
merci pour les liens mais je ne trouve pas comment selectionner le fichier que je veu?
aller le chercher dans un dossier etc?
merci d'avance
0
bagneux49 Messages postés 16 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 28 mars 2011
21 mars 2011 à 10:05
j'ai trouvé comment créer
Dim sw As New StreamWriter("chemin")
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
brm63 Messages postés 23 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 avril 2011
21 mars 2011 à 10:18
pour sélectionner le fichier que tu veux : par openFiledialog (ça ouvre une boite de dialog tout seul pour cherche le chemin):
OpenFileDialog1.ShowDialog() (faire un bouton et le faire lancer dedans)

chemin = OpenFileDialog1.FileName
0
bagneux49 Messages postés 16 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 28 mars 2011
21 mars 2011 à 10:48
mais en faite c pas exactement sa que je veux je me suis peut etre mal exprimé.
je ne veux pas du tout ouvrir une feuille!
je veut simplement créer pour la premiere utiliation un fichier XLS puis sélectionner ce fichier et enregistrer dedans le contenu de ma listbox!
merci davance
ton aide m'est précieuse :p
0
brm63 Messages postés 23 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 avril 2011
21 mars 2011 à 12:18
Ha ok, désolé je croyais que tu voulais juste ouvrir mais ton fichier xls n'existe pas !!

j'ai jamais testé mais le code (normalement) est:

'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ajout d'un classeur car à l'ouverture d'Excel il n'y a aucun classeur d'ouvert
appExcel.Workbooks.Add 'Ceci n'est nécessaire que si vous n'ouvrez pas un fichier existant
'Récupération du classeur par défaut
Set wbExcel = appExcel.ActiveWorkbook
'Récupération de la feuille par défaut
Set wsExcel = wbExcel.ActiveSheet


pour pus de renseignement : http://drq.developpez.com/vb/tutoriels/Excel/Chapitre1/

j'espere que cette fois c'est la bonne
0
bagneux49 Messages postés 16 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 28 mars 2011
21 mars 2011 à 15:17
voila le code qui marche a peu près

'Déclaration des variables
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel

'Ouverture de l'application
appExcel = CType(CreateObject("Excel.Application"), Excel.Application)
'Ouverture d'un fichier Excel
wbExcel = appExcel.Workbooks.Open("C:nom.xls")
'wsExcel correspond à la première feuille du fichier
wsExcel = CType(wbExcel.Worksheets(1), Excel.Worksheet)

'écriture dans la cellule 2 colonne 1
appExcel.ActiveCell(2, 1) = "écrire"

un problème persiste....
quand j’exécute le code à la fin un fenêtre s'affiche pour ouvrir ou enregistrer le classeur je voudrai qu'il l'enregistre automatiquement...
est ce que tu sais comment faire ?
merci d'avance
0
brm63 Messages postés 23 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 avril 2011
21 mars 2011 à 21:16
monClasseur.Save()
0
brm63 Messages postés 23 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 avril 2011
21 mars 2011 à 21:17
ou monClasseur.Saveas(chemin) pour enregistrer sous. A verifier bien sur
0
brm63 Messages postés 23 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 avril 2011
21 mars 2011 à 21:19
monClasseur.SaveAs(chemin) A verifier bien sur
0
bagneux49 Messages postés 16 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 28 mars 2011
22 mars 2011 à 15:17
bon alors la j'ai quelque souci....

déja merci de ton aide précieuse depuis le début!
le hic c'est que je n'arrive pas a faire marché les codes que tu me donne... c'est bien du vb NET?

a la place j'ai utiliser ceci:
Dim sw As New StreamWriter("chemin.xls", append:=True)
sw.Write("{0}", lstRecv.Items(lstRecv.SelectedIndex))
sw.Close()
je sais pas si tu connais cette méthode?

le hic encore avec cette méthode c'est que je ne choisi pas les colonne ou je met mes info et que je ne peut pas mettre de macro dans ce type de fichier...

peut tu me dire skil me mank pour ke ton code marche ou si t'en connai un peu plus sur le code ke jai trouvé?
merci d'avance pour tout
0
brm63 Messages postés 23 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 avril 2011
22 mars 2011 à 15:23
Salut,
Je t'avoue que je n'est jamais vu ton code.
Ce que je t'ai passer c'est bien de vb.net car moi meme je suis en train de développer une application qui accède a une base de donnée et fait les rapports dans excel. Mais la différence c'est que mon fichier excel existe deja et ma base est situé sur un Pocket pc mais ça ne change pas beaucoup
0
brm63 Messages postés 23 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 avril 2011
22 mars 2011 à 15:31
pour inserer une info (ici une varaible id)
je fais comme ça monExcel_magasin.Worksheets(2).cells(i, 1).value = id_magasin

le i c'est la ligne le 1 la colonne le 2 dans Worksheets c'est la feuille et monexcel c'est mon classeur
et au debut j'ai déclarer ça:
Dim monExcel_magasin As Object 'Application Excel
Dim monClasseur_magasin As Object 'Classeur Excel
et inclu la référence Microsoft office X oject librairy
0
bagneux49 Messages postés 16 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 28 mars 2011
23 mars 2011 à 08:24
salut,

ok je vais réessayer avec ta méthode
Aurait tu un exemple du coup de fichier que tu pourai me faire parvenir?

de plus moi mon fichier excel existe ou est créer sa m'importe peu donc voila
merci d'avance!!!
0
bagneux49 Messages postés 16 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 28 mars 2011
28 mars 2011 à 08:10
re,
bon je n'y arrive toujours pas je suis bloqué....
soit je suis nul soit j'oublie un truc donc peut tu m'aidé stp :p
peut tu m'envoyer un petit exemple stp

et a tu entendu parlé de réaliser ceci dans un fichier csv?
merci d'avance
0
brm63 Messages postés 23 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 8 avril 2011
28 mars 2011 à 09:09
Salut,
je code en VB.net que depuis 2 mois donc je suis pas un expert je réalise juste des codes avec connexion a une base,excel ou pocket pc le reste je suis encore dépassé. Je suis vraiment désolé de ne pas pu avoir t'aidé plus que ça.
Pour l'exemple dis moi vraiment l'ago que tu veux et je vais voir si c'est dans mes possibilité
Bon courage
0
bagneux49 Messages postés 16 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 28 mars 2011
28 mars 2011 à 10:32
salut,
ba en faite je veut juste que a chaque fois que j'ai une nouvelle ligne dans une liste box je "l'historise" dans un fichier . ce fichier de préférence tableur!!!!

en faite j'ai réaliser un client serveur donc par exemple quand je clic sur le bouton connexion, dans ma list box s'écrit client 192.0.0.1 est connecté par exemple...

dans juste ajouter la dernier ligne de ma liste box à la suite du fichiers historique.

merci d'avance

j'ai déja ce code qui marche mais le problème c'est que je peut pas agir sur ce classeur après.


"
Dim sw As New StreamWriter("./../../../historique.xls", append:=True)
sw.Write("{0}", Form1_srv.lstRecv.Items(Form1_srv.lstRecv.SelectedIndex))
sw.Close()
"




et sa c le code que tu ma filé ke j'arrive pas a mettre en place

'Dim c, l As Integer
'Dim xl As New Microsoft.Office.Interop.Excel.Application

'' Pour info: mon Datagridview se nomme "result".

'xl.Visible = True
'xl.Workbooks.Add()
''xl.Cells.Columns(1).ColumnWidth = 10 'je fixe la largeur de la 1ere colonne


'' j'affiche sur la 1ere ligne, les noms des colonnes du Datagridview
''xl.Cells(1, 1) = Form1_srv.lstRecv.Items(Form1_srv.lstRecv.SelectedIndex)


'' je remplis les cellules du fichiers excel avec les valeurs de result:
'For l = 0 To result.Rows.Count - 1
' For c = 0 To result.Columns.Count - 1
' ' je fixe la largeur des colonnes:
' xl.Cells.Columns(c + 2).ColumnWidth = 21
' xl.Cells(l + 2, c + 1) = result.Rows(l).Cells(c).Value
' Next
'Next
0