Chemin de lecteur Réseau
Bonjour à tous
J'ai il y a quelques temps, avec les moyens du bord, l'aide d'internet et un coup de pouce du forum, développé une (enfin des) macros qui permettent de gérer des résultats d'analyses de laboratoire à partir d'un fichier commun (réception en encodage des échantillons, encodage des résultats, génération, impression et archivage des rapports).
Le fichier XL de base (qui "pilotait" tout le reste) était sur un serveur local et tout fonctionnait très bien.
J'utilisais notamment des instructions de ce type :
shroute.Move
ChDir "\\SERVEUR2008\Partage\Public\AIDE - marché analyses"
ActiveWorkbook.SaveAs Filename:=nomroute, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
'enregistre la nouvelle feuille de route dans le dossier ad hoc
Afin de créer et d'enregistrer de nouveaux fichiers.
Nous sommes passez depuis quelques semaine à OneDrive, touts les fichiers sont donc dans le cloud.
Du coup, mes macros ne fonctionnaient plus, enfin les parties qui doivent ouvrir les fichiers source de données et enregistrer les fichiers rapports générés.
J'ai corrigé mes macros en utilisant les références relatives de fichiers, comme ceci :
shroute.Move
ChDir (ThisWorkbook.Path)
ChDir ".\Encodage des résultats"
ActiveWorkbook.SaveAs Filename:=nomroute, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
'enregistre la nouvelle feuille de route dans le dossier ad hoc
Mais du coup, cela ne fonctionnait plus que sur mon poste de travail (le dossier source est dans mon one drive personnel, mes collègues y accédaient via des bibliothèques sharepoint). Problème car du coup, quand je ne suis pas là, tout le monde est bloqué (et je pars en congé la semaine prochaine
Solution proposée : utiliser un lecteur réseau mappé chez tout le monde et revenir à l'ancienne formulation de mes macros, en utilisant l'adresse du lecteur mappé, comme ceci :
shroute.Move
ChDir "V:\AIDE\AIDE - marché analyses\Encodage des résultats"
ActiveWorkbook.SaveAs Filename:=nomroute, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
'enregistre la nouvelle feuille de route dans le dossier ad hoc
(je me suis assurée que les lecteurs sont bien mappés avec les mêmes lettres chez tout le monde
Problème : la feuille shroute ne va pas s'enregistrer au bon endroit, elle s'enregistre en local dans le dossier "Mes documents", que ce soit sur mon poste ou sur le poste de mes collègues
Je ne sais pas si mes explications sont très claires car je ne comprends pas moi même parfaitement ce que je fais, ne maitrisant pas vraiment les subtilités de VBA (mes macros ne sont d'ailleurs probablement pas très "propres"), ni de one Drive, d'ailleurs
Si quelqu'un pouvait venir à mon secours, ça me ferait vraiment, mais vraiment plaisir.
Bonjour Frannou,
A quoi correspond l'instruction
shroute.moveQue contient ta variable "nomroute" ?
A+
La macro crée une nouvelle feuille dans mon classeur de départ (que j'ai nommée shroute), puis la déplace dans un nouveau classeur, que j'appelle nomroute (variable que j'ai déclarée plus haut dans la macro, je n'ai pas copié cette partie ici).
Apparemment, le problème n'est pas là vu que la macro crée bien mon classeur, avec la feuille voulue dedans et lui donne le nom voulu. juste qu'elle l'enregistre dans "mes documents" au lieu de l'enregistrer dans "V:\AIDE\AIDE - marché analyses\Encodage des résultats" comme je lui demande (pas assez gentiment apparemment)
Re,
Si justement
puisque tu fais un
ActiveWorkbook.SaveAs Filename:=nomrouteSi nomroute ne contient pas le chemin d'accès complet y compris le nom du fichier, celui-ci sera enregistré n'importe ou
A+
aaaaaaah, je pensais qu'avec ChDir juste avant, j’indiquais où enregistrer le fichier.
Je vais essayer en ajoutant le chemin directement dans le nom alors
en effet, avec le chemin dans le nom du fichier, ça fonctionne. Merci beaucoup!