Bonjour Charly,
lis d'abord mes 3 posts précédents, à partir de celui-ci :
https://forum.excel-pratique.com/viewtopic.php?p=697013#p697013
je te propose cette autre version du fichier "Produits" :
* c'est toujours pour : 1 seul dossier ; les 2 fichiers dans ce même dossier ; écrire dans un classeur ouvert
* la différence est que j'ai supprimé tout le code de ThisWorkbook ➯ lors de l'ouverture du 1er fichier
"Produits.xlsm", ça n'ouvre plus le 2ème fichier "Suivi.xlsx"
* j'ai déplacé tout le code de la sub Workbook_Open() dans la nouvelle sub privée VérifClasseur2(),
et maintenant, c'est la sub CpyLig2() qui appelle VérifClasseur2()
* ainsi, quand tu fais Ctrl e, ça lance CpyLig2(), et pour chaque exécution de cette sub, avant écriture dans
"Suivi.xlsx", ça vérifie s'il est présent ou non, et s'il est absent en RAM, ça le charge ; donc cette fois,
tu es assuré que ça marchera et que tu n'auras plus ton erreur 1004 "Nous ne trouvons pas Suivi.xlsx"
(cela même si quelqu'un a fermé ce 2ème fichier entre-temps)
cette méthode est donc plus sûre, mais je ne l'aime pas du tout, car je trouve que c'est vraiment très lourd de faire une vérif du 2ème fichier avant chaque écriture ! je préfère largement la méthode précédente où la vérif n'est faite qu'à l'ouverture du 1er fichier, et y'a ensuite aucune raison qu'ça marche plus si personne ne ferme le 2ème fichier tant que le 1er est en cours d'utilisation.
merci de me donner ton avis, et si tu préfères utiliser un 2ème dossier pour "Suivi.xlsx", tu dois m'indiquer quel est ce dossier pour pouvoir faire l'adaptation du code VBA ; indique-moi aussi quel est le 1er dossier de "Produits.xlsm" car ça peut aider si le début des 2 chemins est identique ; dans les 2 cas, je parle des chemins complets ; remplace juste ton vrai UserName par ton pseudo Charly : C:\Users\Charly\Documents\...
dhany