XL 2016 Les calculs sont incomplets. Voulez-vous recalculer avant l'enregistrement?

lgael9

XLDnaute Nouveau
Bonjour,

Lors de l'enregistrement de mon fichier, le message suivant apparaît "Les calculs sont incomplets. Voulez-vous recalculer avant l'enregistrement?".

Si je clique sur oui le message tourne en boucle.
Si je clique sur non la fenêtre se ferme et semble enregistrer quand même les modifs
Si je clique sur annuler une nouvelle fenêtre s'ouvre : "des erreurs ont été détectées lors de l'enregistrement du fichier. Il se peut qu'Excel enregistre le fichier en supprimant ou en réparant certaines fonctionnalités..." et la il me demande d'enregistrer une copie.

En calcul manuel le message d'erreur n'apparaît plus mais quand on repasse en automatique il revient.

Après quelques recherches, plusieurs personnes ont rencontré ce problème mais il n'a apparemment jamais été résolu.

J'imagine que ça peut être lié à une macro ou à une liaison externe "fantôme" qu'on ne peut rompre.

En tout cas pour ma part, c'est apparu soudainement, je n'ai jamais eu ce problème avant.

Si quelqu'un a une solution à mon problème, je suis preneur.

Merci d'avance.
 
Solution
Bonjour,
Je pense que ce n'est peut être pas cette fonction qui pose problème mais son utilisation.
Avec cette macro je met dans un tableau si commentaire ou pas pour 10000 cellules. Sur mon vieux PC et XL2007 je tourne autour de 85ms ( y compris avec MFC ).
VB:
Sub Test()
Dim Tablo(1 To 10000), T0
T0 = Timer
For L = 1 To 10000
    Tablo(L) = EstCommentaire(Cells(L, "C"))
Next L
MsgBox Format(Timer - T0, "0.000s")
End Sub
Function EstCommentaire(c)
Application.Volatile
EstCommentaire = Not c.Comment Is Nothing
End Function
Testez cette PJ pour voir.
NB: Attention, comme il y a "application.volatile" alors cette fonction sera ré évaluée à chaque recalcul.

Peut être une solution ( sans garantie car non testée ) est de mettre une macro...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Igael, et bienvenu sur XLD,
J'ai déjà eu ce souci avec des fichiers qui contenait des milliers de formules matricielles.
Il disait de mémoire "Les calculs sont incomplets." car il n'avait pas fini l'ensemble de ses calculs avant qu'on lui demande d'enregistrer.
D'où mes questions :
1- Cela se passe t-il sur tous vos fichiers ou uniquement sur celui ci ?
2- Avez vous de très nombreux calculs dans votre fichier ?
3- Avez vous fait de nombreux copier coller ( surtout s'il y a des MFC ) ce qui conduirait à un très fort ralentissement des calculs.
4- Ce fichier est il énorme ou pouvez vous le mettre en pièces jointes ( si non sensible )?

[Edit] Il se peut aussi que votre fichier soit "vérolé". Cela arrive quelquefois. Dans ce cas, le seul moyen souvent de s'en sortir est de repartir d'un fichier vierge et de rapatrier page par page les feuilles de l'ancien fichier.
 
Dernière édition:

lgael9

XLDnaute Nouveau
Bonjour sylvanu,

Merci pour votre retour.

1- Oui, uniquement sur ce fichier.
2- Non très peu de calcul mais pas mal de MFC (parfois avec formule).
3- Oui il y a eu pas mal de copier/coller, mais le début du code de la macro efface toutes les MFC de la feuille et ensuite les recréer proprement.
4- Il n'est pas énorme, mais sensible.

Après recherche, je pense que le problème vient d'une fonction que j'ai trouvé sur un forum :
Function EstCommentaire(c)
Application.Volatile
EstCommentaire = Not c.Comment Is Nothing
End Function
Le problème est apparu après que j'ai inséré cette fonction dans mon code, elle permet de faire une MFC sur les cellules commentées (=EstCommentaire(Feuille1!F5)).
J'ai vraiment besoin de cette fonction et j'aimerai ne pas avoir à m'en passer.

EDIT : j'ai l'impression que le problème survient dès qu'on modifie une cellule (même sans MFC)
Le fait de changer de feuille avant de sauvegarder règle parfois le problème
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Je pense que ce n'est peut être pas cette fonction qui pose problème mais son utilisation.
Avec cette macro je met dans un tableau si commentaire ou pas pour 10000 cellules. Sur mon vieux PC et XL2007 je tourne autour de 85ms ( y compris avec MFC ).
VB:
Sub Test()
Dim Tablo(1 To 10000), T0
T0 = Timer
For L = 1 To 10000
    Tablo(L) = EstCommentaire(Cells(L, "C"))
Next L
MsgBox Format(Timer - T0, "0.000s")
End Sub
Function EstCommentaire(c)
Application.Volatile
EstCommentaire = Not c.Comment Is Nothing
End Function
Testez cette PJ pour voir.
NB: Attention, comme il y a "application.volatile" alors cette fonction sera ré évaluée à chaque recalcul.

Peut être une solution ( sans garantie car non testée ) est de mettre une macro Workbook_BeforeSave dans Thisworkbook qui inhibe tout avant l'enregistrement:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    Application.DisplayAlerts = True
End Sub
 

Pièces jointes

  • Igael.xlsm
    21.1 KB · Affichages: 1

lgael9

XLDnaute Nouveau
Tout d'abord, merci beaucoup pour votre macro Workbook_BeforeSave, ça a réglé le problème du message d'erreur avant enregistrement.

Cependant, je ne sais pas si c'est un problème lié à mon ordinateur (20ms avec votre test), mais sur votre fichier, à l'ouverture, certaines cellules commentées ne sont pas mise en forme.
En scrollant vers le bas ou le haut, certaines cellules commentées qui étaient mises en forme redeviennent "blanches" et inversement, si je sauvegarde tout redevient normal, mais dès que je modifie n'importe quelle cellule de la feuille, de nouveau certaines cellules commentées ne sont plus mise en forme.
Et le simple fait de scroller enlève la mise en forme de certaines cellules ou la remet.

Est-ce que c'est un problème d'affichage ? Ou est-ce que c'est lié à la volatilité de l'application comme vous l'avez fait remarquer ? Si oui, est-ce qu'on peut le corriger ?
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Je n'observe rien de tel. Difficile de statuer :
1- 20ms, donc votre PC est 4 fois plus rapide que le mien.
2- Je tourne sous Win10 XL2007, peut être un problème de config.
3- Essayez sur ma PJ de supprimer le "application.volatile", juste pour voir si cela est l'origine.
mais dès que je modifie n'importe quelle cellule de la feuille, de nouveau certaines cellules commentées ne sont plus mise en forme.
Cela voudrait dire que la fonction renvoie une valeur erronée sinon la MFC mettrait la bonne couleur.

Donc, là, je suis dans le même brouillard que vous. :)
 

lgael9

XLDnaute Nouveau
J'ai supprimé le "application.volatile" mais ça n'a pas réglé le problème.

J'ai testé le fichier sur l'ordinateur d'une collègue (EXCEL 2010) et tout fonctionne parfaitement, effectivement je dois avoir un problème de config sur ma version, je règlerai le problème avec le service informatique de mon entreprise.

En tout cas merci beaucoup pour votre aide, mon problème est résolu.

Bonne journée.
 

Discussions similaires

Réponses
3
Affichages
618

Statistiques des forums

Discussions
313 211
Messages
2 096 246
Membres
106 542
dernier inscrit
Barnabousse