Dans mon classeur, je copie la feuille actuelle pour la conserver comme enregistrement d'une vente. Finalement, le classeur se remplit de ventes et à un certain point jette une erreur quand j'essaye de copier une autre feuille. Après avoir enregistré, puis complètement quitter Excel, puis recharger le fichier, je peux continuer sans problèmes. Je suppose que c'est un problème de mémoire, mais je ne suis pas sûr de savoir comment le résoudre sans redémarrer Excel. Je ne peux pas me souvenir exactement du libellé de l'erreur, mais cela va dans le sens de "Echec de la méthode de copie de la feuille de calcul". FWIW J'utilise "Application.CutCopyMode = False" à la fin de la macro qui copie la feuille.Echec de la méthode de copie en raison de la mémoire
1ère édition:
Je souhaite publier tout le code, mais il y en a tellement (la plupart ne sont pas liés à la mise à jour des valeurs, à la vérification des entrées, etc.); Si je poste tout, je devrais afficher toutes les autres fonctions pour que cela ait un sens. Qu'il suffise de dire, voici ce que je pense est applicable:
ActiveSheet.Copy After:=Sheets(3)
...(more code)...
Call resetInterface(True, True, (wasScreenUpdating), (wasProtected))
et pour la fonction « resetInterface »:
' Final operations for a typical function/sub '
Function resetInterface(Optional calc As Boolean = False, Optional ccmode As Boolean = False, Optional scrUpdate As Boolean = True, Optional protectWS As Boolean = False)
With Application
If calc Then
.Calculation = xlCalculationAutomatic
.Calculate
End If
If ccmode Then .CutCopyMode = False
.ScreenUpdating = scrUpdate
End With
If protectWS Then ActiveSheet.Protect
End Function
Quelques conseils (pour attirer du trafic vers votre question et peut-être obtenir résolu): a) Titre: utiliser « Excel Macro » ou un mot-clé similaire. b) faites l'effort de prendre note du message spécifique (et en effet, peut-être "google" ce message vous-même) c) peut-être fournir un extrait plus long de votre macro. – mjv