web-dev-qa-db-fra.com

Excel ne met pas à jour la valeur sauf si j'appuie sur Entrée

J'ai un problème très ennuyeux dans l'une de mes feuilles de calcul d'un classeur. J'utilise Excel 2007. La valeur d'une cellule ne sera pas mise à jour à moins que je ne clique sur ENTRÉE. Soit si la formule dans la cellule inclut une condition if, ou une fonction VLOOKUP ou même une fonction AVERAGE. Tous les calculs sont définis sur automatique, Application.Calculation = xlAutomatic et même les calculs pour la feuille de calcul spécifique sont activés, tels que: ws.EnableCalculation = TRUE. 

De plus, ScreenUpdating est défini sur TRUE. Après avoir appuyé sur la touche ENTREE ou sur le coin droit, les cellules seront mises à jour et continueront à être mises à jour si des modifications sont apportées. Cependant, après avoir enregistré le fichier et l'avoir rouvert, il sera de nouveau gelé. Je n'ai pas compris exactement quand ils ne seront plus mis à jour. Toutes les mises en forme sont définies sur Général ou sur Nombre. 

Surtout dans les conditions IF, lorsque je vérifie les calculs à l'aide de la fonction d'évaluation, le résultat est correct mais il n'est pas transmis à l'écran.

Toute suggestion? Cette chose me rend fou.

9
Thanasis

Il semble que votre classeur ait été défini sur Calcul manuel. Vous pouvez changer ceci en automatique en allant à Formules> Calcul> Options de calcul> Automatique.

Location in Ribbon

Le calcul manuel peut être utile pour réduire la charge de calcul et améliorer la réactivité dans les classeurs contenant de grandes quantités de formules. L'idée est que vous pouvez consulter les données et apporter des modifications, puis choisir le moment auquel vous souhaitez que votre ordinateur passe par l'effort de calcul.

12
Carl Kevinson

Résumé/TL; DR:
Essayez de rechercher et de remplacer "=" par "=". Oui, remplacez le signe égal par lui-même. Pour mon scénario, cela a forcé tout à se mettre à jour.

Contexte:
Je crée souvent des formules sur plusieurs colonnes, puis les concatène ensemble. Après cela, je les copierai comme valeurs pour extraire la formule que j'ai créée. Après ce processus, ils sont généralement bloqués pour afficher une formule et non pour afficher une valeur, sauf si je saisis la cellule et appuie sur Entrée. Il n’est pas amusant d’appuyer plusieurs fois sur F2 & Enter.

11
AndyGneiss

J'ai le même problème avec ce gars ici: mrexcel.com/forum/Excel-questions/318115-enablecalculation.htmlApplication.CalculateFull a vendu mon problème. Cependant, je crains que cela ne se reproduise. Je vais essayer de ne plus utiliser EnableCalculation.

4
Thanasis

Trouvé le problème et ne pouvait pas trouver la solution jusqu'à essayé ceci.

  1. Ouvrez Visual Basic à partir de l'onglet Développeur (OU cliquez avec le bouton droit de la souris sur l'une des feuilles .__ et cliquez sur "Afficher le code").
  2. Dans le panneau supérieur gauche, sélectionnez 'ThisWorkbook'
  3. Dans le panneau inférieur gauche, recherchez l'attribut 'ForceFullCalculation'.
  4. Changez-le de 'Faux' en 'Vrai' et enregistrez-le

Je ne sais pas si cela a un effet secondaire, mais c'est un travail pour moi maintenant.

1
Kamol Singh

Cela ne semble pas intuitif, mais sélectionnez la colonne avec laquelle vous rencontrez le problème, utilisez "texte à colonne" et appuyez simplement sur terminer. C’est également la réponse suggérée dans l’aide d’Excel. Pour une raison quelconque, convertit le texte en chiffres.

1
Mathew

Sélectionnez toutes les données et utilisez l'option "Texte en colonnes", qui permettra à vos données d'appliquer le formatage de nombres ERIK

1
user9742503

Je rencontre ce problème avant. Je soupçonne que certaines de vos cellules sont liées à une autre feuille, laquelle renvoie les autres feuilles #NAME? qui termine les feuilles actuelles ne fonctionne pas sur le calcul.

Essayez de résoudre vos autres feuilles liées

0
Alex Chuan

J'ai rencontré ce problème aussi. Dans mon cas, l'ajout de parenthèses autour des fonctions internes (pour les évaluer d'abord) semblait faire l'affaire:

Modifié

=SUM(A1, SUBSTITUTE(A2,"x","3",1), A3) 

à

=SUM(A1, (SUBSTITUTE(A2,"x","3",1)), A3) 
0
java-addict301