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
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 !
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
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 !
Partager