Bonjour tout le monde,
est-ce que ça vous est déjà arrivé :
- Excel plante à l'ouverture de fichiers .xlsm contenant plein de macros
- ces macros ont été réalisés sous XL-2010 et utilisées depuis des années par 40 utilisateurs sous Office 2007, 2010, 2013, 2016, sous Win7 et Win10
- seuls les 4 ou 5 utilisateurs les plus récents ont ce problème, ils sont sous Win10 et Office 2013 Pro (et 2 d'entre eux ont racheté un Office 2013 avec une licence et refait toute l'installation)
- à l'ouverture de ces fichiers le message suivant apparaît "Les macros Visual Basic pour Application (VBA) de ce classeur sont corrompues et ont été supprimées. Le fichier actif contient très probablement des macros corrompues. Pour récupérer ces macros, si vous disposez d'une copie de sauvegarde de ce fichier, ouvrez cette copie."
Grâce à cette gentille plaisanterie, une bonne partie des fichiers Excel qui servent dans mon entreprise ont été amputés de leurs macros au fur et à mesure que ces 4 ou 5 collègues ouvraient des fichiers (parce que, bien entendu, lorsqu'ils voient une boîte
de dialogue apparaître, ils s'empressent de cliquer sur "la petite croix en haut à droite" pour la fermer sans même essayer de comprendre la conséquence).
Chez au moins l'un de ces collègues, j'ai pu faire fonctionner un fichier avec une simple macro affichant un message avec l'heure, mais si le nom de cette macro contient un caractère accentué, là, ça plante avec un message légèrement différent mais qui revient
au même (Excel a rencontré du contenu illisible, on essaye de le récupérer... ah non, désolé, c'est pas récupérable, le fichier rapport xml indique que ça a supprimé tout le projet en VBA).
Ce qui me fait penser qu'il y a un problème de caractères (non UTF-8 ?), c'est que dans l'éditeur VB de leur Excel 2013, les "é" sont remplacés par des "é" dans le mot "Général" situé dans la liste déroulante supérieure gauche du VBE. Si je fais une macro
une macro dont le nom ne comporte pas d'accent, elle n'est pas supprimée, elle fonctionne, mais si je lui fait afficher une MsgBox avec du texte accentué, les caractères "é" ou "ç" sont remplacés par un petit losange noir avec un point d'interrogation blanc
dedans…

J'ai vérifié la langue par défaut de Windows (Français [France]) et la langue par défaut dans les options d'Excel (pareil) et je me demande bien où on peut régler cette incapacité à afficher correctement les caractères accentués dans VBA...
Vous avez des idées ??
Merci d'avance des pistes que vous m'aiderez à explorer !