Ouverture d'une application excel avec openfiledialog en vue de manipuler l'application

Soyez le premier à donner votre avis sur cette source.

Snippet vu 41 762 fois - Téléchargée 27 fois

Contenu du snippet

Une question revient très souvent sur CS: Comment ouvrir une application Excel?

Source / Exemple :


'code effectué avec VB2005 Express Edition
'dans un premier temps il faut ajouter excel en référence dans votre projet.
'ATTENTION pour ce qui programme en .NET Microsoft.Office.Interop n'est pas nécessaire.
'code à mettre dans un évenement click d'un boutton "ouvrir" ou "parcourir".
'et il faut ajouter un composant openfiledialog nommé ici "OpenFichierExcel"

Dim appxls As Microsoft.Office.Interop.Excel.Application
Dim book As Microsoft.Office.Interop.Excel.Workbook
Dim excelfile as String

        'configuation de l'openfiledialogue du fichier excel
        OpenFichierExcel.FileName = ""
        OpenFichierExcel.InitialDirectory = "C:\"
        OpenFichierExcel.Filter = "Fichiers Excel (*.xls)|*.xls"
        OpenFichierExcel.FilterIndex = 1
        OpenFichierExcel.Title = "Ouvrir un fichier Excel"
        OpenFichierExcel.RestoreDirectory = True

        Dim result As DialogResult = OpenFichierExcel.ShowDialog() 'affiche la boite

        If (result = Windows.Forms.DialogResult.OK) Then 

            'ouverture de l'application et du classeur

            appxls = New Microsoft.Office.Interop.Excel.Application 
            appxls.Visible = True 
            excelfile = OpenFichierExcel.FileName 
            book = appxls.Workbooks.Open(excelfile) 

        Else

            Exit Sub

        End If

'Pour quitter l'application
book.Close(True, , ) 
appxls.Quit()
book=Nothing
xlsapp=Nothing

Conclusion :


Petit tuto sur la manipulation des objets excel en .Net :
http://www.vbfrance.com/codes/CODE-PERMETTANT-MANIPULER-OBJETS-EXCEL-NET_38534.aspx

A voir également

Ajouter un commentaire

Commentaires

Charles Racaud
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
25 -
Oula, tu cherche bien compliquer.
Pourquoi utiliser les références d'excel.

Si tu connait le fchier a ouvrir, t'as juste a l'ouvrir avec un process. Il ouvrira l'application approprié directement:

Dim DlgOpen As New System.Windows.Forms.OpenFileDialog()
DlgOpen.Filter = "Fichiers Excel (*.xls; *.xlsx)|*.xls; *.xlsx"
DlgOpen.Title = "Ouvrir un fichier Excel"
If DlgOpen.ShowDialog() = Windows.Forms.DialogResult.OK Then
System.Diagnostics.Process.Start(DlgOpen.FileName)
End If

Kenji
(pas noté)
cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018
-
Voir ici :
XLDotNet : Quitter Excel sans laisser d'instance en RAM
www.vbfrance.com/code.aspx?id=27541
Drikce06
Messages postés
2247
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
5 -
En fait je met excel en référence car dans mon programme je ne me contente pas d'ouvrir excel. Je travail sur différents classeurs et différentes feuilles mais l'application excel n'est pas visible.
Kenji: avec ta méthode (j'ai pas essayé) tu peux travailler sans la référence excel sur les feuilles et classeurs?
pour faire les range, select...
Charles Racaud
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
25 -
Non, avec ma méthode tu pourras pas. Ca ouvre juste le classeur.
C'est juste que mon code va plus en accord avec le nom de la source.
Si c'est une source pour tavailler avec excel, renome la.

Kenji
Drikce06
Messages postés
2247
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
5 -
OK

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.