plantage à la sauvegarde

benouboy

XLDnaute Nouveau
Bonjour le forum!

quelle tristesse : j'ai enfin réussi à faire une super base de données avec du calcul matriciel, des userforms, pleins de combobox et tout et tout... MAIS maintenant, dès que je tente de faire une sauvergarde de mon fichier sous un autre nom, Excel plante complètement et je perds ma sauvegarde. En y regardant d'un peu plus près, je vois qu'à la sauvegarde, toutes mes procédures du style combobox_truc_change () s'active toutes... Or personne (ni moi ni VB) ne leur a demandé de s'activer au moment d'une sauvegarde...!

J'ai tenté la mise en place d'un flag booléen dans la procédure workbook.beforesave testé ensuite en début de combobox_truc_change : en pas à pas, ca passe, mais en automatique je plante toujours... Il y a-t-il un moyen de faire en sorte que rien ne se passe à la sauvegarde (a part bien sur la sauvegarde.. ;o) )?

Par avance merci à vous pour vos lumières...!

Benouboy.

PS : désolé mon fichier fait dans les 800kb, je ne peux pas le joindre...
 

benouboy

XLDnaute Nouveau
Re : plantage à la sauvegarde

Salut Bertrand, le forum,

bon j'ai essayé de tout mettre sur un module (même les procédures liées aux feuilles), et d'exporter le fichier .bas, que j'ai zippé... J'ai bon ou pas comme ca...?

Encore merci a l'avance pour ton aide!
 

Pièces jointes

  • benouboymacros.zip
    4.2 KB · Affichages: 27

mutzik

XLDnaute Barbatruc
Re : plantage à la sauvegarde

re benouboy,
j'ai parcouru un peu le fichier, c'est un peu complexe pour mes connaissances, par contre, j'ai remarqué qu'il y avait deux procédures Worksheet_change dans le fichier joint.
1. Vérifie ce point
2. déactive la procédure before_save : l'erreur est toujours là ?
3. attendre que quelqu'un de plus expériementé que moi passe par là
 

benouboy

XLDnaute Nouveau
Re : plantage à la sauvegarde

Re Bertrand,

vi, il y a effectivement 2 procédures worksheet_change dû au fait que j'ai copié-collé toutes les procédures dans un seul module. Malheureusement, même sans ma procédure beforesave ça plante tout autant... En fait je ne comprends pas pourquoi le fait de faire une sauvegarde active les macros type _change... Aurais-tu (ou le forum) une idée sur ce point precis?

J'apprecie ton aide, merci beaucoup!
 

Dan

XLDnaute Barbatruc
Re : plantage à la sauvegarde

Bonjour,

Est-ce que tu as remarqué que tu as aussi deuux fois cette procédure :
Private Sub new_action_Click() ?

Pourrais-tu dire sur quelle instruction cela plante ou alors placer ton fichier ici avec données non confidentielles ?

A bientôt
 

mutzik

XLDnaute Barbatruc
Re : plantage à la sauvegarde

Re benouboy, Salut Dan

J'ai eu ce genre de prob une fois également avec un fichier contenant plein de liaisons et de fonctions. En fait, excel recalcule tout avant l'enregistrement, puis enregistre le fichier. Le prob était que le recalcul durait tellement longtemps, il devait y avoir un timeout qui disait que le fichier n'était pas disponible pour la sauvegarde car il était en recalcul etc...
J'ai enlevé cette option et c'était ok (mais ceci n'est qu'une piste parmi tant d'autres)
 

benouboy

XLDnaute Nouveau
Re : plantage à la sauvegarde

Salut Dan, Mutzik, le forum...

on tient le bon bout je pense!! :)
- Dan : erreur de ma part, j'ai du avoir la tremblotte en copier-collant toutes les procédures dans le module... Le fichier initial ne comporte qu'une seule procédure new_action... Impossible par ailleurs de voir où ça plante, puisque quand je suis (du verbe suivre) en pas en pas ma sauvegarde, je n'ai pas de plantage... D'où la remarque pertinente de Mutzik, il s'agit surement d'un recalcul qui prend un peu trop de temps, et du coup Excel s'énerve et plante.

-Mutzik :
"J'ai enlevé cette option et c'était ok (mais ceci n'est qu'une piste parmi tant d'autres)"
Alors là on touche au but... Te souviens-tu comment tu as fait pour déactiver ce recalcul, ou pour laisser un timeout plus long?

Merci en tout cas à tous les deux, z'etes top!

Je veux bien vous envoyer le fichier total, mais je n'arrive pas à le reduire à moins de 50kb zippé... :(
 

benouboy

XLDnaute Nouveau
Re : plantage à la sauvegarde

Re Mutzik!

voilà, ça y est enfin, j'ai rajouté ça et ça MARCHE!!! :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.Calculation = xlManual
Application.CalculateBeforeSave = False
End Sub

Private Sub Workbook_Open()
Application.Calculation = xlCalculationAutomatic
End Sub

Tu avais donc vu juste dès le début, bravo et merci à toi!

Maintenant, j'ai peur qu'effectivement mon fichier soit loin d'etre parfaitement en état de marche, mais au moins il ne plante plus à la moindre sauvegarde, c'est deja ça!!

Merci XLD, vous assurez! :D
 

Discussions similaires

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2