Bonjour
Un problème à vous exposer. Désolé d’avance si je suis un peu long.
Dans le cadre d’un travail d’équipe avec des fichiers placés sur un réseau, j’ai des échanges entre fichiers qui à l’ouverture et à la fermeture se partagent qqs infos via des fichiers « passerelle » xlsx en mode partagés dont c’est la seule vocation.
Par exemple dans thisworbook (Workbook_Open) le fichier A.xlsm ouvre une passerelle pour échange d'infos
Set Wka = ThisWorkbook
Workbooks.Open Chemin & passPAT
Set Wkb = ActiveWorkbook
Wkb.Sheets(6).Range("A:R").Copy Destination:=Wka.Sheets(6).Range("A1")
Wka.Sheets(3).Range("A:C").Copy Destination:=Wkb.Sheets(3).Range("A1")
Wkb.Close True
Et à la fermeture par exemple, ouvre une autre passerelle pour alimenter celle-ci
Set Wka = ThisWorkbook
Workbooks.Open Chemin & passgener
Set Wkb = ActiveWorkbook
Wka.Sheets(5).Range("A:Z").Copy Destination:=Wkb.Sheets(5).Range("A1")
Wka.Sheets(7).Range("A:AK").Copy Destination:=Wkb.Sheets(7).Range("A1")
Wkb.Close True
Wka.Close True
Tout se passe assez bien 9 fois sur 10 mais il arrive parfois que le fichier peine à ouvrir le fichier « passerelle » comme quoi il est en lecture seule (un comble pour un fichier en xlsx en mode partagé non ?). Le pire c’est que ça m’arrive sans raison à des horaires où je sais que ces fichiers ne sont ouverts par personne car suis le seul au taf et je me suis assuré encore hier matin qu’aucun autre PC n’était allumé lorsque c’est arrivé. Et ça arrive de temps en temps.
Du coup je me dis qu’il fallait que je revois ma copie pour aller choper (ou alimenter) des infos dans ces fichiers « passerelles »
Y a bien la méthode ADO mais je n' arrive absolument pas à adapter de code pour écrire dans un fichier fermé et encore moins avec un nombre de lignes variable …
Si vous avez une expérience de votre côté, je suis preneur. Merci