VBA: obligé d'ouvrir un fichier pour en récupérer des données?

VBA: obligé d'ouvrir un fichier pour en récupérer des données? - VB/VBA/VBS - Programmation

Marsh Posté le 01-09-2008 à 18:43:32    


 
Bonjour,  
 
J'ai une macro créée dans un fichier "monFichier"
je voudrais récupérer des données d'un fichier "monFichierSource"
 
pb, le code suivant me balance l'erreur "L'indice n'appartient pas à la sélection"
 
Dim MonfichierSource_Sheet As Excel.Worksheet
Set MonfichierSource_Sheet = Workbooks(Chemin_mon_fichier_source).Worksheets(feuille_mon_fichier_source)
 
Je n'ai pas ce problème si le fichier "monFichierSource" est ouvert
 
1) Quand j'essaye de l'ouvrir via la méthode workbooks.open, le fichier s'ouvre, la Cellule A1 est sélectionnée, et ma macro se bloque!.
 
2) je préfèrerais ne pas à avoir à ouvrir le fichier source car j'ai des accès courant à des données de ce fichier, pour les traiter et afficher le résultat dans "monFichier", et j'ai peur de devoir gérer des conflits entre classeurs actifs ou non. Voyez-vous une solution?
 
Merci d'avance
 
 

Reply

Marsh Posté le 01-09-2008 à 18:43:32   

Reply

Marsh Posté le 12-10-2008 à 18:46:37    

As-tu essayé directement d'avoir une liaison entre les 2 fichiers Excel, à savoir utiliser tout bêtement une formule dans "monfichier" qui appelle un zone de "monfichiersource"?
Sinon, c'est sûr, il faut ouvrir le fichier.
Pour cela prendre garde au fait qu'il n'est pas déjà ouvert.. (vérifier la collection workbooks)
 
Bon courage. Et si ton application est importante, je peux la faire !

Reply

Marsh Posté le 13-10-2008 à 00:54:55    

Effectivement, techniquement, pour récupérer une donnée d'un fichier il faut toujours "l'ouvrir" mais pas forcément explicitement.
 
J'avais eu une longue discussion pour des histoires d'optims sur les différentes façons de lire une cellule d'un fichier distant ici. T'as de quoi trouver ton bonheur, vu qu'il y a toutes les façons de faire.
 
Pour ce qui est du blocage, à mon avis, ça vient d'autre chose, il y a quoi comme code derrière? T'as essayé le pas à pas?


Message édité par dreameddeath le 13-10-2008 à 00:56:03
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed