Normal que ça plante.
Dans le fichier que je vous ai envoyé la ligne :
chemin = wb.Path & "\" ' Chemin du fichier construit le chemin pour l'enregistrement
"wb" est un alias du classeur, "Path" c'est le chemin pour accéder à ce classeur et "\" est le séparateur de dossier dans windows
Vous avez remplacé la ligne par :
chemin = wb.Path & "Z:\Atelier.Usinage\Test base de donnée" ' Chemin du fichier
Ce qui revient à vouloir le mettre dans un endroit qui n'existe pas.
Si vous voulez changer le dossier d'enregistrement vous pouvez mettre
chemin = "Z:\Atelier.Usinage\Test base de donnée\" sans oublier l'antislash à la fin mais c'est à vos risques et périls
D'autre part remplacez le nom du fichier joint par : trs-global-2021-donnees (lundi).xlsm". Je ne sais pas pourquoi mais Excelpratique remplace les parenthèses par des tirets et dans le code il faut des "(". Des tirets à la place entrainerait des erreurs dans le programme
Je vous joins un fichier légèrement modifié. J'ai mis la procédure dans un module standard, cela vous permet de l'exécuter en pas à pas pour suivre ce qui se passe.
La procédure Private Sub Workbook_BeforeClose(Cancel As Boolean) se contente d'appeler le code d'enregistrement.
C'est bien de d'avoir transmit le fichier formulaire mais comme il est protégé par mot de passe il ne sert strictement à rien.