XL 2010 Validation de formule

Erakmur

XLDnaute Occasionnel
Bonjour,
J'ai des formules de la cellules A2 à A100. Je dois aller sur chaque cellule, cliquer sur la barre de formule, appuyer sur entrée pour que le résultat s'affiche.
Donc je vais dans A2, je clique dans la barre de formule, j'appuis sur entrée.
Je clique sur A3, je clique dans la barre de formule, j'appuis sur entrée.
Je clique sur A4, je clique dans la barre de formule, j'appuis sur entrée.

Y'a t'il une macro qui permet de valider toutes les formules en même temps ?
Cordialement
 

Erakmur

XLDnaute Occasionnel
Bonjour,

Sub Validation()
Dim c As Range
Application.ScreenUpdating = False
For Each c In [A2:A100]
c = c.Formula
Next
End Sub

Cela fonctionne. Il y a néanmoins des soucis. Quand les formules sont en automatiques, le temps de calculs est extrêmement long. En manuel, c'est beaucoup plus court. J'avais pris de A2 à A100 mais en réalité c'est de A2 à A7000 au maximum d'où la lenteur. De plus, la mise en page du résultat de la formule change une fois le résultat affiché. La cellule devient bleu avec une écriture blanche et en gras probablement du à d'autre macro du fichier.

Est t'il possible de:
- Dire à la macro qu'a la place de A7000, qu'elle prenne les cellules avec un résultat non nul (différent de "") pour diminuer le temps de calcul.
- Dire à la macro qu'elle commence par mettre le mode manuel, faire les calculs puis remettre le mode automatique pour diminuer le temps de calcul.
- Dire à la macro qu'une fois les calculs terminés, elle mette toute les cellules de A2 à A7000 en mise en page standard (fond blanc, écriture blanche est pas en gras)

Cordialement
 

job75

XLDnaute Barbatruc
Bonjour Erakmur,

Pourquoi n'essayez-vous pas ma macro du post #4, beaucoup plus rapide ?

Pour les couleurs il y a probablement une MFC, effacez-la.

Pour le reste vous y arriverez tout seul car c'est élémentaire.

A+
 

Erakmur

XLDnaute Occasionnel
Bonjour,
J'ai rajouté le passage en manuel des formules ainsi que le passage en automatisation une fois le calcul effectué:
Sub Validation()
Dim c As Range
Application.Calculation = xlManual
Application.ScreenUpdating = False
For Each c In [Aj9:Aj50]
c = c.Formula
Next
Application.Calculation = xlAutomatic
End Sub

Rien de compliqué effectivement. Merci pour l'aide.
Cordialement
 

Discussions similaires

Réponses
8
Affichages
334

Statistiques des forums

Discussions
312 203
Messages
2 086 188
Membres
103 152
dernier inscrit
Karibu