IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Crash aléatoire Excel 2010 sans message d'erreur


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Crash aléatoire Excel 2010 sans message d'erreur
    Bonjour,

    J'ai actuellement un problème avec Excel 2010 lors de l’exécution d'une macro, enfin si on veut, car je n'ai aucun message d'erreur. Excel 2010 se ferme sans rien dire.

    Explication du problème :
    Je crée une feuille temporaire de traitement en fonction d'un model puis j'importe des données et redonne la main à l'utilisateur. Sur cette feuille j'ai deux boutons un pour la validation et l'autre pour l'annulation.
    lorsqu'on valide les données sont alors copie-collées dans une autre feuille et la feuille temporaire est supprimée.
    Lorsqu'on clique sur annulation, on revient à la feuille principale et la feuille temporaire est supprimée.

    Mon problème se présente lors de l’exécution des macros des deux boutons.
    Le code VBA de mes macros s’exécute jusqu'au bout sans erreur ( pas à pas testé) et à la fin Excel 2010 crash, fermeture de l'instance sans aucun message d'erreur. Quand je rouvre mon fichier, Excel ne me propose pas l'habituel récupération de données lors de plantage.
    (le code VBA étant pourtant totalement différent).
    Sachant que le problème n'arrive pas toujours ! je ne sais pas du tout ce qui le provoque, mais une fois la "boucle" lancée ça plante et replante ...
    Pour le test j'effectue en dernière ligne de code une sauvegarde du fichier et celle-ci fonctionne ! c'est à dire que lorsque je rouvre le fichier après plantage de Excel la macro s'est bien passée et le fichier est comme si tout s'était bien passé.

    Après plusieurs tests j'ai remarqué que pour "stopper" cette erreur il fallait tout simplement que je supprime la feuille temporaire manuellement au lieu d'utiliser la macro.Et dans ce cas le fichier est reparti puis l'utilisation se fait correctement, c'est à dire que je peux réutiliser les boutons "validation" et "annulation" sans provoqué de plantage jusqu'au moment où ça revient de nul part !
    Je suis presque sûr que le problème viendrait de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        
        If exist_feuille(nom_feuille) = True Then
            Application.DisplayAlerts = False
            Worksheets(nom_feuille).Delete
            Application.DisplayAlerts = True
        End If
    lorsque je passe Worksheets(nom_feuille).Delete en commentaire alors le programme tourne et Excel ne plante pas. Puis dès que je repasse cette ligne en code VBA alors ça fait planter Excel. Mais le code s’exécute !

    Honnêtement là je n'ai plus d'idée ! Pour moi le problème viendrait de Excel 2010 en lui même, peut être une bibliothèque ?
    Si quelqu'un a une idée !

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,

    essayes comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim fl As Worksheet
    For Each fl In Worksheets
      If Sheets.Count > 1 Then
        If fl.Name = nom_feuille Then
          Application.DisplayAlerts = False
          Sheets(nom_feuille).Delete
          Application.DisplayAlerts = True
        End If
      End If
    Next fl

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    C'était une idée mais ça ne marche pas.
    Le problème reste le même, la macro s’exécute correctement et Excel se ferme sans rien dire.

    J'ai retesté le coup de mettre Sheets(nom_feuille).Delete en commentaire et une fois en commentaire Excel ne plante plus, mais la feuille reste là ...

    Je viens d'avoir une idée, ma macro est exécutée depuis ma feuille temporaire à partir d'un bouton, serait-il possible que le fait que je supprime cette feuille pendant l'exécution fasse planter Excel ? pourtant lorsque je supprime la feuille temp je le fais à partir d'une feuille menu. Mais sachant que la macro s'est lancé depuis la feuille temp peut être qu'Excel cherche à finir l’exécution en s'assurant que cette feuille est toujours là ?

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    copies le code que je t'ai proposé dans un module standart et executes-le pour vérifier tes suppositions

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Ton code y a aucun souci il fonctionne, le mien aussi remarque.

    J'ai effectué un premier test en créant une feuille vierge qui contient un bouton pour exécuter ma macro de suppression et dans ce cas Excel ne plante pas.

    J'ai effectué un test en créant une "fausse" feuille similaire à celle que je crée et dans ce cas-ci ça plante aussi parfois mais moins ... honnêtement je ne comprend rien, car sur la feuille temp j'ai du texte et des formules dans différentes cellules mais rien de bien méchant.
    Y a un truc mais quoi !

    pour le moment je n'ai plus d'idée ...

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    tu peux peut-etre envoyer un fichier allégé avec des données bidons ?

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    J'ai essayé d'alléger un peu le fichier mais je n'arrive pas à recréer les conditions du bug :s

    De plus j'ai testé le fichier sur un Excel 2007 et sur cette version Excel ne plante jamais ! donc çà confirme mon idée que Excel 2010 gère mal quelque chose.

    Je vais continuer mes recherches ...

    Et si j'arrive à recréer le bug sur un fichier que je peux partager je le mettrais mais pour le moment faut que j'avance, je ne peux pas rester bloqué sur un bug aléatoire comme ça.

    Merci pour ton aide.

    Franck.

Discussions similaires

  1. annuler l'affichage d'un etat sans message d'erreur
    Par mnssylvain dans le forum IHM
    Réponses: 4
    Dernier message: 25/11/2007, 21h55
  2. Réponses: 15
    Dernier message: 20/09/2007, 18h26
  3. Réponses: 2
    Dernier message: 23/08/2007, 20h08
  4. [VBA-E]Détection de feuilles inexistantes sans message d'erreur
    Par Jipété dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/11/2006, 08h39
  5. "try...except" sans message d'erreur
    Par SchpatziBreizh dans le forum Langage
    Réponses: 4
    Dernier message: 12/07/2005, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo