Excel et VB

Résolu
cs_max68 Messages postés 30 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 20 juin 2008 - 23 févr. 2005 à 11:34
cs_max68 Messages postés 30 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 20 juin 2008 - 23 févr. 2005 à 14:11
Bonjour,

Je fais une app. en VB.NET et je souhaite la lier avec un fichier Excel. Mais comme je débute en .net et en connexion Excel, je suis perdu, et j'ai besoin de votre aide.

Je ne comprends déja pas la différence exacte entre un Worksheet, workbook ... Mon fichier Excel comprend plusieurs feuilles. Je souhaiterai alors enregistrer une valeur dans une cellule de mon fichier Excel, dans la deuxième feuille, appelée "Feuille2". La ligne de code en rouge enregistre la valeur, non pas dans Feuille2, mais dans la dernière feuille active avant d'avoir fermé le fichier Excel. L'enregistrement se ferait soit avec les données x et y de la cellule, soit à l'aide de son nom de cellule, donné dans Excel.

Quelqu'un voit il comment faire ?

La méthode de fermeture des variables Excel est elle bonnes ? de façon que Excel ne reste pas dans le gestionnaire des tâches après fermeture de l'app.

Connaissez vous un tutorial sur les développements d'app vb.net avec un fichier Excel, vraiment simple à comprendre ? Avec tout ceux que j'ai trouvé, je n'ai rien compris.

Voici mes lignes de codes (issues de sources de vbfrance):


Dim Simulation
As Excel.Application

Dim ShtFeuille2
As Excel.Worksheet


'Ouverture du fichier Excel
Simulation = New Excel.Application
Simulation.Workbooks.Open(Application.StartupPath & "\SIMULATION.xls")
ShtFeuille2 = Simulation.Worksheets("Feuille2")

ShtTracteur.Cells(1, 1) = 154

Simulation.Quit()


Simulation =
Nothing

ShtTracteur =
Nothing

Merci beaucoup d'avance,

Max

2 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
23 févr. 2005 à 12:26
Excel.Application correspond à l'application Excel
Excel.Workbook correspond à un classeur = Fichier excel (*.xls; *.xlt) ...
Excel.Worksheet correspond à un onglet du classeur

Ton erreur principale est l'utilisation de la variable ShtTracteur au lieu de ShtFeuille2
Mes connaissances sont en VB6 plutôt qu'en .Net, mais ça n'a pas l'air d'être fort différent


Dim Simulation
As Excel.Application

Dim l_Workbook As Excel.Workbook

Dim ShtFeuille2
As Excel.Worksheet


'Ouverture du fichier Excel
'Lancement d'Excel
Simulation = New Excel.Application
'Ouverture du classeur SIMULATION.xls
l_WorkBook = Simulation.Workbooks.Open(Application.StartupPath & "\SIMULATION.xls")
'Recuperation de la feuille "Feuille2"
ShtFeuille2 = l_Workbook.Worksheets("Feuille2")

<STRIKE>ShtTracteur.Cells(1, 1) = 154
</STRIKE>'Le .Value est optionnel
ShtFeuille2.Cells(1, 1).Value = 154
'Fermeture du fichier Excel (en sauvegardant les modifications)
l_Workbook.Close(True)
'Fermeture de l'application Excel
Simulation.Quit()


Simulation =
Nothing
l_Workbook = Nothing

ShtTracteur =
Nothing
3
cs_max68 Messages postés 30 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 20 juin 2008
23 févr. 2005 à 14:11
Merci beaucoup, mrdep1978, ça marche nickel ;)

M@x
0
Rejoignez-nous