juanito37
Messages postés18Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention28 août 2009
-
16 juil. 2009 à 14:54
juanito37
Messages postés18Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention28 août 2009
-
17 juil. 2009 à 16:09
Bonjour à tous,
j'ai un léger souci avec une macro VBA ss excel 2003.
Je demande à ma macro de récuperer sur une feuille "PTF" les données d'une autre feuille dans un autre classeur excel nommé "Source". Je lui indique donc le chemin à suivre pour sélectionner le fichier en question. voici le code :
[i]Sub Macro1 ()
Dim fichiera, fichierb As Variant
Mais à chaque fois que j'active ma macro, je dois quand même lui indiquer manuellement le chemin à suivre. il ne retrouve pas tt seul le fichier : c'est assez long à chaque fois pour retrouver le fichier....!!!!
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 17 juil. 2009 à 15:33
Salut
J'ai eu un souci identique récemment.
Le problème vient du comportement de Excel modifie de lui même le contenu des cellules selon que le fichier externe est ouvert ou pas :
Si le fichier externe n'est pas ouvert (exemple de cellule) :
= 'C:\Documents and Settings\Compta\Mes documents\CLIENTS\2008\[2008-Factures.xls]Mon Client'!$V$2
Si le fichier externe est ouvert, la cellule devient :
= '[2008-Factures.xls]Mon Client'!$V$2
C'est à dire qu'il supprime le chemin puisque la donnée est accessible localement
Le problème, c'est que si l'on réutilise la cellule alors que le fichier externe est à nouveau fermé, Excel demande le chemin.
Il faut donc maintenir la cellule|formule avec le chemin complet ET ne jamais ouvrir les deux fichiers dans la même instance de Excel.
Sinon, dans ton code :
ChDir ,ne s'occupe QUE de changer de répertoire.
Si le disque n'est pas le même que celui de Excel, il faut avant faire un ChDrive
Mais cette manip (ChDrive et ChDir) n'est pas obligatoire dans la mesure où tu ouvres un fichier en spécifiant le chemin complet (Disque + répertoire + nom complet du fichier)
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
linasteph
Messages postés153Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 juillet 20091 16 juil. 2009 à 15:37
Salut,
Si ton fichier s'appelle source.xls et qu'il se trouve sur P:\
Remplace déjà ChDir "P:\Source" par ChDir "P:"
De plus je ne pense pas que cette instruction chdir soit nécessaire.
Workbooks.Open Filename:= "P:\Source.xls", UpdateLinks:=0 devrait fonctionner sans problème.