Ouvrir fichier Excel en VBA

J

Jeff

Guest
Bonjour,

A problème simple réponse sans doute aussi simple, mais je ne trouve pas.

Je cherche à ouvrir un classeur excel à partir d'un code vba pour y importer des données. J'utilise la procédure suivante:

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
Set wbExcel = appExcel.Workbooks.Open("D:\Sig.xls")
'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.Worksheets(1)


Résultat, rien ne s'ouvre, et je peux encore moins travailler sur le fichier en question... que faire?

Merci par avance!

Jeff
 
W

WILFRIED

Guest
Si je comprend bien tu veux que ta macro ouvre excel+ton fichier en une seul fois?

Pour moi cela n'est pas possible mais je peu me tromper,

Peut-être que les AS du VBA tels @+thierry ou TI-XLD, CELEDA et autre pro (désolé pour ceux que j'oublis) aurons une idée.

A+ Wilfried ;op
 
M

michel

Guest
bonjour Jeff , bonjour Wilfried

essayes tu d'ouvrir le classeur depuis Excel ou depuis une autre application ?

si c'est depuis Excel , tu peux ecrire directement
Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Open("D:\Sig.xls")
Set ws = wb.Worksheets(1)

si c'est depuis une autre application :
as tu activé la reference Microsoft Excel Object xx.x Library ?
dans Visual Basic Editor (Alt+F11)
menu Outils
References
coches la ligne Microsoft Excel Object xx.x Library
cliques sur OK pour valider


bon apres midi
MichelXld
 

C@thy

XLDnaute Barbatruc
Re : Ouvrir fichier Excel en VBA

Bonjour le fil, le forum,

j'ai ceci : (par exemple)
fic = "D:\Sig.xls"
set wb = workbooks.open(fic)

mais le workbooks(fic).close ne fonctionne pas...
comment le ferme-t-on?

merci à vous

Bises

C@thy
 
Dernière édition:

C@thy

XLDnaute Barbatruc
Re : Ouvrir fichier Excel en VBA

Ouf! merci Pierrot, ça paraît bête, mais je viens de comprendre le truc suivant (dis-moi si je me trompe)

on ouvre un fichier avec tout le chemin, on le ferme sans le chemin, n'est-ce pas?

à quoi sert le set stp?? (c'est l'histoire du chemin complet, mais peut-on se passer du set pour ouvrir et si oui, comment? (filename?). J'ai toujours beaucoup de mal avec ça, il faudrait que je le comprenne une bonne fois pour toutes, et après ça ira tout seul.



Merci Pierrot



Bises



C@thy
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Ouvrir fichier Excel en VBA

Re,

on ouvre un fichier avec tout le chemin, on le ferme sans le chemin, n'est-ce pas?
oui, tout à fait.

à quoi sert le set stp??
le "set" sert à initialiser une variable "objet", un classeur, une feuille de calcul etc...

(c'est l'histoire du chemin complet, mais peut-on se passer du set pour ouvrir et si oui, comment? (filename?).

on pourrait s'en passer, exemple ci-dessous, mais moins simple à gérer....

Code:
Dim fic As String, monclasseur As String
fic = "D:\Sig.xls"
Workbooks.Open (fic)
monclasseur = ActiveWorkbook.Name
Workbooks(monclasseur).Close
 

C@thy

XLDnaute Barbatruc
Re : Ouvrir fichier Excel en VBA

Coucou, c'est remoi,

encore une petite précision:eek: :

imaginons que le fichier soit déjà ouvert...

est-ce que je peux écrire :
Code:
fic = "D:\Sig.xls"
set fic = workbooks(fic)
NomTrav = "SORTIE"
set FeuilTrav = fic.sheets(NomTrav)
FeuilTrav.activate
???

Mille mercis

Bises

C@thy
 

Pierrot93

XLDnaute Barbatruc
Re : Ouvrir fichier Excel en VBA

Bonjour Cathy:),

je rajouterais le classeur à la dernière instruction u cas ou celui ci ne serait pas le classeur actif...
Code:
fic = "D:\Sig.xls"
Set fic = Workbooks(fic)
NomTrav = "SORTIE"
Set FeuilTrav = fic.Sheets(NomTrav)
fic.FeuilTrav.Activate

bon après midi
@+
 

C@thy

XLDnaute Barbatruc
Re : Ouvrir fichier Excel en VBA

Bonjour le forum, le fil, et le tigre...

ceci fonctionne parfaitement :
ClasseurReseau = cheminCourant & "\" & workbookchemins.Names("toto").RefersToRange
set wb = Workbooks.Open(ClasseurReseau)
mais set ClasseurReseau = Workbooks(ClasseurReseau) ne fonctionne pas???
(l'indice n'appartient pas à la sélection...)

Une explication???

Bisous

C@thy
 

C@thy

XLDnaute Barbatruc
Re : Ouvrir fichier Excel en VBA

euh... oui.... la méthode "open" à besoin du chemin pour ouvrir un classeur si celui-ci ne se trouve pas dans le répertoire courant....
Eh oui!!! Paf! Main sur le front!!!

Code:
fic = "D:\Sig.xls"
Set fic = Workbooks(fic)
fonctionne, mais pas
ClasseurReseau = cheminCourant & "\" & workbookchemins.Names("toto").RefersToRange (j'obiens par ex. "D:\Sig.xls")
set ClasseurReseau = Workbooks(ClasseurReseau)
Quelle est la différence???

C@thy
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
349

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260