Ouvrir fichier Excel en VBA

  • Initiateur de la discussion Initiateur de la discussion Jeff
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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:
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:
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
 
Re : Ouvrir fichier Excel en VBA

Coucou, c'est remoi,

encore une petite précision😱 :

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
 
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
@+
 
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
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
829
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
201
Retour