Bonjour
Je suis en train de développer un prototype d'outil sous Excel 2013 / Windows 8.1 dont je ne peux pas vraiment parler (confidentialité). Globalement, je manipule des fichiers de tout genre (Excel, Word, PowerPoint, PDF, images, ...)
Je travaille sur une tablette Microsoft Surface Pro 2 [avec un écran "géant" DELL U2711 en QHD (2560x1440)], totalement à jour et protégée par Bitdefender TOTAL SECURITY 2015.
J'ai une vingtaine d'onglets statiques et des onglets créés dynamiquement (d'après des modèles) ; j'ai aussi 5 "UserForms".
Ces onglets utilisent notamment des formats conditionnels (pas trop), des combobox (activeX) et des plages nommées (qui évoluent dynamiquement).
L'application est globalement pilotée par les évènements (change, click, activate, before save, gotfocus, etc.) et j'utilise systématiquement la protection des onglets (protect / unprotect) ; je masque toutes les colonnes "à droite" et "en dessous" des plages qui m'intéressent dans chacun des onglets.
J'en suis aujourd'hui à environ 15 000 lignes de VBA (je gère systématiquement les erreurs - On error Goto - que je journalise dans un onglet spécifique). Le classeur "vide" fait environ 4Mo.
Pour la petite histoire, je suis dessus depuis 4 mois, à raison de 7 jours par semaine et 12 à 18 h par jour...
Tout d'abord, j'ai des fonctionnements "bizarres" depuis plusieurs semaines : par exemple, quand j'insère un onglet, cela génère un "change" au niveau des combobox dans les autres onglets [j'ai été obligé d'introduire une variable globale "L_action_en_cours_ne_doit_pas_être_considérée_comme_un_Change"], d'autant plus que "Application.EnableEvents" est sans effet à ce niveau.
Dans le même ordre d'idées, l'évènement du classeur "BeforeSave" se déclenche après les "change"...
Ensuite, j'ai des plantages de plus en plus réguliers à tel point que maintenant je suis bloqué (Excel plante systématiquement quand j'enregistre).
J'ai essayé pas mal de pistes :
- Vérification du classeur via le menu <INQUIRE> dans le ruban
- Essai sous Windows 7/Office 2010 Pro (ça plante aussi... et bizarrement chaque onglet se trouve "dupliqué" : quand on regarde l'explorateur de projets, EXCEL a créé 2 onglets, par exemple pour l'onglet 10 on trouve un onglet 10 qui correspond à la partie "visible", et un onglet 101 qui contient le code !)
- Vérification de la base de registres via CCleaner
- Vérification / réparation des fichiers systèmes via SFC
- Réparation des DLL [Fichier-dll.fr]. J'avais trouvé ça dans le journal des évènement de Windows :
Nom de l’application défaillante EXCEL.EXE, version : 15.0.4711.1000, horodatage : 0x55091c8b
Nom du module défaillant : ntdll.dll, version : 6.3.9600.17736, horodatage : 0x550f4336
Code d’exception : 0xc0000028
Décalage d’erreur : 0x00000000000ec180
ID du processus défaillant : 0xdf4
Heure de début de l’application défaillante : 0x01d0851a443ef605
Chemin d’accès de l’application défaillante : C:\Program Files\Microsoft Office\Office15\EXCEL.EXE
Chemin d’accès du module défaillant: C:\WINDOWS\SYSTEM32\ntdll.dll
ID de rapport : 3f721182-f10e-11e4-827b-281878565b60
Nom complet du package défaillant*:
ID de l’application relative au package défaillant:
J'ai la même chose avec mso.dll...- Réparation puis ré-installation d'Office
- Recopie des onglets, modules et autres UserForms dans un classeur vide
- Suppression des onglets et du code correspondant à une des 2 parties du projet
- "Cochage" de l'option "Arrêt sur toutes les erreurs" pour savoir où ça plante (mais le plantage ne semble pas détecté)
J'ai désespérément besoin d'aide : avez-vous déjà été confronté(e) à un tel problème ?
Un grand merci d'avance pour vos éventuels conseils...
Gilbert
ADDITIF :
- J'ai essayé avec Office 32 bits et 64 bits : c'est la même chose
- je viens tout juste de ré-installer Office 2013 32 bits et de scanner ma machine avec Bitdender : quand je coche "désactiver toutes les macros sans notification", le programme se lance quand même. Mon classeur N'EST PAS déposé dans un emplacement approuvé...
Partager