Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème de chemin

  • Initiateur de la discussion Initiateur de la discussion Nanir
  • 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 !

Nanir

XLDnaute Occasionnel
Bonjour le forum,

J'ai un petit cas à vous soumettre.

J'ai une macro qui consiste à ouvrir des fichiers, copier une colonne, puis coller la colonne dans un autre fichiers les unes après les autres.

Cette macro fonctionne parfaitement si les fichiers sont en local, c'est à dire sur C:

Par contre lorsque le chemin est sur le réseau de mon taf, la macro se met en erreur disant qu'elle ne trouve pas les fichiers.

Celon vous, est ce que cette erreur provient du chemin de la macro ou du réseau? Et comment corriger cette erreur?

En pièce jointe, la macro.

Merci de votre aide,
Cordialement,

[file name=macro_20060516085911.zip size=2287]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/macro_20060516085911.zip[/file]
 

Pièces jointes

Bonjour Nanir, le forum

Chdir ne peut changer le lecteur en cours mais uniquement le répertoire actif du lecteur précisé.

utilises avant ChDrive pour changer le lecteur
sinon tu peux adresser directement tes fichiers en utilisant le chemin récupéré par activeworkbook.path pour le classeur actif ou thisworkbook.path pour le classeur contenant la macro exécutée, plus pratique à utiliser sur un lecteur réseau non défini en ressource disque.

Cordialement, A+
 
Merci beaucoup pour ton conseil!
Voici ce que j'ai fais :

Avant :
For ICount = 1 To UBound(fNames)
ChDir 'U:\\alain\\'
Workbooks.Open Filename:=fNames(ICount, 1)
Set Neuf = ActiveWorkbook
Set Cole = Range('E:E')
Cole.Copy Lastcol
Neuf.Close
Last = Range('IV1').End(xlToLeft).Column (ICount) + 1
Set Lastcol = Cells(1, Last)
Next ICount
End Sub

Après:
For ICount = 1 To UBound(fNames)
Workbooks.Open ThisWorkbook.Path & '\\' & fNames(ICount, 1)
Set Neuf = ActiveWorkbook
Set Cole = Range('E:E')
Cole.Copy Lastcol
Neuf.Close
Last = Range('IV1').End(xlToLeft).Column + (ICount) + 1
Set Lastcol = Cells(1, Last)
Next ICount
End Sub

Maintenant la macro arrive à trouver et ouvrir tous les fichiers!
Super!
Encore merci!
 
Bonjour

on peut simplifier en référençant directement à l'ouverture
Egalement, il vaut mieux spécifier la feuille dont tu veux récupérer la donnée sinon tu la récuoérera sur la feuille active à l'ouverture qui n'est pas forcément celle que tu veux
on peux en même temps éviter la référence cole qui ne sert pas à grand chose dans ce cas.

Cordialement, A+
Code:
For ICount = 1 To UBound(fNames)
Set neuf = Workbooks.Open(ThisWorkbook.Path & '' & fNames(ICount, 1))
neuf.Sheets(1).Range('E:E').Copy Lastcol
neuf.Close False
Last = Range('IV1').End(xlToLeft).Column + (ICount) + 1
Set Lastcol = Cells(1, Last)
Next ICount
 
Bonsoir à tous,
J'ai le meme probleme, j'ai bien lu ce que vous venez de lire mais excusez mon ignorance, où je dois copier ce script (module, classe1, .. ???).
Merci
Pascal
 
Bonsoir à tous,
J'ai le meme probleme, j'ai bien lu ce que vous venez de lire mais excusez mon ignorance, où je dois copier ce script (module, classe1, .. ???).
Merci
Pascal
 
- 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

Discussions similaires

Réponses
33
Affichages
716
D
Réponses
4
Affichages
312
DidPouAxi
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…