Ouvrir classeur excell en vba

isis1be Messages postés 45 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 19 avril 2008 - 2 nov. 2007 à 16:00
isis1be Messages postés 45 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 19 avril 2008 - 3 nov. 2007 à 18:14
Salut à tous
Dans mon code pour ouvrir un classeur xls j'ai:

Private Sub btnConsMod_Click()
'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")
'Ouverture d'un fichier Excel
appExcel.Workbooks.Open ("C:\Documents and Settings\vincent\Bureau" & ListBoxResult.List(ListBoxResult.ListIndex))
'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.Worksheets(1)

Mais il me trouve une erreur

erreur d'éxécution 91
Variable objet ou variable de bloc with non définie

à la ligne:

Set wsExcel = wbExcel.Worksheets(1)

quelqu'un pourrait me dire comment faire pour ouvrir le classeur car la je ne sais plus et je bloque depuis plusieurs jours.
Un grand merci pour votre aide et à bientôt.

3 réponses

zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
2 nov. 2007 à 19:43
Salut,


j'ai essayé comme cela et cela marche déjà un peu mieux:

Private Sub btnConsMod_Click()


'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")


'Ouverture d'un fichier Excel

<strike>appExcel.</strike> Workbooks.Open ("C:\Documents and Settings\vincent\Bureau" & ListBoxResult.List(ListBoxResult.ListIndex))


'wsExcel correspond à la première feuille du fichier


Set wsExcel = wbExcel.Worksheets(1)


vérifie bien que le nom de ton fichier est correct, le mieux pour débugger serait

Dim fichier as string

fichier =  "C:\Documents and Settings\vincent\Bureau" & ListBoxResult.List(ListBoxResult.ListIndex)

msgbox fichier   => te permet de vérifier la validité du nom

workbooks.open(fichier)


enfin j'ai repéré une erreur, workbooks(1) point vers le premier classeur et pas celui que tu viens d'ouvrir

--------------------------------------------------
Toujours + de VB et d'API => APi @ le Loupe
http://apialaloupe.free.fr
0
isis1be Messages postés 45 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 19 avril 2008
3 nov. 2007 à 17:56
J'ai fait le changement que tu préconisait ctd
Workbooks.Open ("C:\Documents and Settings\vincent\Bureau" & ListBoxResult.List(ListBoxResult.ListIndex))

mais rien ne change j'ai toujours la même erreur et je ne comprend pas très bien  le truc pour vérifier l'erreur que tu me dit à la fin, car en fait je suis assez nul en vba et il m'a déja fallut longtemp arriver ou j'en suis donc si tu pouvais me détailler plus ce serais super.
Un tout grand merci pour ton aide et à bientôt.
0
isis1be Messages postés 45 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 19 avril 2008
3 nov. 2007 à 18:14
Resalut

En fait je vient de trouver la solution
Par rapport à ce que tu disait j'ai rajouter

Set wbExcel = appExcel.Workbooks.Open("C:\Documents and Settings\vincent\Bureau" & ListBoxResult.List(ListBoxResult.ListIndex))

Pour cette ligne et après j'ai aussi rajouter

appExcel.Visible = True

et sa tourne.
De toute façon un tout grand merci pour ton aide.
0
Rejoignez-nous