Plantage Excel sur masquage de lignes

Anonyme
2017-03-24T01:38:34+00:00

Bonsoir

J'ai un problème quasi systématique (en moyenne 1 fois sur 2 ou 3) quand je masque des lignes, que ce soit en VBA ou manuellement.

J'ai déjà eu ce problème qui avait mystérieusement disparu avant de reparaître.

J'ai aussi cru m'en débarrasser en rajoutant des "Doevents" (aucun sens mais bon ; ça a marché 1 jour...)

En pas à pas, je me suis aperçu que ça plantait systématiquement sur la même ligne, enfin pas tout à fait : mon appli est en plein écran (je masque la barre d'état, le ruban, le bandeau, les onglets, la barre de menus, les n° de lignes et de colonnes, etc. ; je masque aussi toutes les lignes et les colonnes non renseignées et je gère les déplacements verticaux en ajustant le scrollarea. Si je repasse temporairement en affichage "normal" la ligne qui plante est décalée d'environ la hauteur du ruban...

J'ai supprimé et refait l'onglet qui plante. Rien n'y fait.

J'ai trouvé ça dans le journal des évènements, mais mes recherches sur le net sont restées vaines :

Nom de l’application défaillante EXCEL.EXE, version : 15.0.4911.1000, horodatage : 0x58a2bc22

Nom du module défaillant : mso.dll, version : 15.0.4911.1000, horodatage : 0x58a2c437

Code d’exception : 0xc0000602

Décalage d’erreur : 0x011f2078

ID du processus défaillant : 0x2c5c

Heure de début de l’application défaillante : 0x01d2a43a2ad1b171

Chemin d’accès de l’application défaillante : C:\Program Files (x86)\Microsoft Office\Office15\EXCEL.EXE

Chemin d’accès du module défaillant: C:\Program Files (x86)\Common Files\Microsoft Shared\Office15\mso.dll

ID de rapport : 19229ae3-b4e5-4429-955d-fab8152ff7d9

Nom complet du package défaillant :

ID de l’application relative au package défaillant :

Ma machine est totalement à jour ; j'ai réparé Excel en vain ; j'ai lancé un sfc /scannow (aucun problème) ; j'ai aussi lancé OffCat (pas de problème particulier non plus).

Pourriez-vous m'aider, s'il vous plait ?

Un grand merci d'avance

Gilbert

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

24 réponses

  1. Anonyme
    2017-03-31T17:44:45+00:00

    Bonsoir !

    Me revoilà...

    Mon problème est toujours là, même si je croyais l'avoir à nouveau contourné.

    Comme je le disais, je ne peux pas publier mon classeur.

    J'ai donc essayé d'isoler le problème : j'ai extrait l'onglet qui plante et j'ai viré toutes les interactions du code avec les autres onglets. "Malheureusement", ça ne plante plus et donc cette piste ne mène à rien.

    Cela étant, je suis certain que quand mon appli plante, c'est bien au masquage d'une ligne dans l'onglet et qu'il n'y a aucune autre ligne de code appelée à ce moment précis (via la gestion d'évènements, par exemple). Mon test avec un onglet unique devrait donc planter autant que quand cet onglet est intégré dans mon appli. La seule différence que je vois entre ces 2 situations c'est que dans mon appli complète, j'ai des pseudo-boutons (des images avec des liens hypertexte pour avoir des info-bulles) qui portent le même nom dans 3 onglets distincts. Mais c'est "autorisé" non ?

    J'ai creusé une autre piste qui a marché pendant 2 / 3 jours, mais qui plante à nouveau : au lieu d'afficher une à une les lignes qui doivent l'être puis de masquer les autres, j'ai créé une colonne supplémentaire que j'alimente d'une croix (X) ou d'un trait (-) suivant que la ligne doit être masquée ou affichée, et j'applique à la fin un filtre comme il se doit :

    With ThisWorkbook.Sheets(Nom_de_l_onglet_Paramétrage)       

        .Range(Plage_de_filtrage).AutoFilter Field:=1, Criteria1:="=X"

    End with

    Ma "Plage_de_filtrage" est effectivement renseignée ($K$2:$K$255, en l'occurrence). Par ailleurs, comme je l'ai déjà indiqué (je crois) toutes les colonnes >= H et les lignes > 255 sont masquées.

    Je suis totalement bloqué : est-ce que quelqu'un aurait une piste, s'il vous plait ? C'est vraiment très important pour moi.

    Merci d'avance

    Gilbert

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2017-03-24T22:31:04+00:00

    Merci pour l'info rassurante....

    Comme je le disais, c'est le classeur lui-même qui a de la valeur à mes yeux : 26 mois de travail, 14 à 16 h par jour, 7 jours / 7.

    Je suis en train de voir comment je pourrais extraire seulement l'onglet qui plante (mais il y a "longtemps", j'avais déjà eu des problèmes du même genre ailleurs...)

    Gilbert

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. DanielCo 107.1K Points de réputation
    2017-03-24T20:00:29+00:00

    cela étant, quand on copie des onglets ne risque-t-on pas de recopier les éventuels bugs

    Pour autant qu'on puisse l'affirmer, en général, on arrive à se débarrasser de l'erreur.

    Est-ce que tu peux mettre le classeur, sans données confidentielles, sur OneDrive ou sur un autre site de partage ?

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2017-03-24T19:24:41+00:00

    Bonsoir

    Tout d'abord, merci d'avoir pris le temps de me répondre...

    J'ai effectivement essayé de reproduire mon classeur dans un classeur vierge, mais ça plante autant malheureusement : cela étant, quand on copie des onglets ne risque-t-on pas de recopier les éventuels bugs ?

    Il faudrait que j'essaye de recréer l'onglet qui plante, mais il est plutôt complexe et intuitivement (ça ne repose sur rien de concret) je doute que le problème vienne de mon classeur : ce plantage me rappelle un autre plantage systématique d'Excel (corrigé depuis peu, je crois) qui intervenait quand on masquait toutes les lignes "du bas" et toutes les colonnes "à droite" de la plage renseignée et qu'on déplaçait l'ascenseur vertical ou horizontal "trop loin" [suis-je clair ?]

    Par ailleurs, suite à ton conseil, j'ai aussi essayé de désactiver temporairement BitDefender, mais ça ne change rien.

    J'avais aussi il y a quelques temps essayé de lancer Excel en mode sans échec, mais en vain là aussi.

    Quant à mettre mon classeur sur un partage je suis très ennuyé : en fait, ce ne sont pas les données qui sont confidentielles mais beaucoup plus le code et le concept de ce que je code que je veux protéger (j'ai fait une énorme bêtise en m'entêtant à utiliser Excel, même si au début c'était pour de très bonnes raisons ; je sais qu'il va falloir que je change d'environnement de développement mais je voudrais attendre d'avoir une première version qui marche). Je suis en train de développer un outil qui à ma connaissance n'a pas d'équivalent sur le marché et j'en suis grosso-modo à 82 000 lignes de code (hors lignes blanches et commentaires). Si vraiment c'est indispensable pour corriger ce bug, je suis malgré tout en train d'essayer d'extraire l'onglet qui plante, mais comme c'est mon onglet de paramétrage de l'outil, il est profondément interfacé avec tout le reste...

    Bonne soirée

    Gilbert

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. DanielCo 107.1K Points de réputation
    2017-03-24T09:17:06+00:00

    Bonjour,

    Est-ce que tu peux reproduire le classeur dans un classeur vierge ? Essaie en désactivant ton pare-feu et ton antivirus (active celui de Windows à la place). Démarre Excel en maintenant la touche Ctrl enfoncée (mode "sans échec"). Teste.

    Essaie aussi de mettre une instruction Wait avant la ligne qui provoque l'erreur.

    Si le problème persiste, peux-tu mettre le classeur, sans données confidentielles, sur OneDrive ou sur un autre site de partage ?

    Cordialement.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire