OVH Cloud OVH Cloud

calcul d'une partie d'une feuille

2 réponses
Avatar
Bourby
bonjour,

j'ai un assez gros tableur, qui calcule deux sortes de valeurs: des coûts et
des délais.
Les calculs deviennent trop longs quand j'encode de nouvelles valeurs.

Lorsque j'encode de nouvelles valeurs, j'ai besoin que les coûts se
calculent en temps réel, mais pas les délais;
ls coûts ne représentent que 10% des formules, donc ça pourrait être rapide.
Les coûts sont dans les colonnes A à F, et les délais dans les suivantes.
Les cellules des colonnes A à F n'ont pas d'antécédents en dehors de ces
colonnes.
Donc, si on pouvait lui dire: "calculer uniquement les colonnes A à F de la
Feuille 1",
ça m'irait parfaitement.

Y-a-t-il une solution (moins bestiale que de créer 2 classeurs avec des
liaisons...)?

D'avance merci pour votre aide.

Bourby

2 réponses

Avatar
michdenis
Bonjour Bourby,

En vba, tu peux commander le recalcul d'un classeur, d'une feuille où d'une plage de cellules seulement.

Si tu places l'option "Calcul" sur manuel, tu peux utiliser une macro pour recalculer seulement la plage de cellule
désirée.

Directement de l'aide d'excel :
'---------------------------
tous les classeurs ouverts
Application.Calculate (ou simplement Calculate)

une feuille de calcul particulière
Worksheets(1).Calculate

une plage déterminée
Worksheets(1).Rows(2).Calculate
'---------------------------


Une Macro possible serait : à chaque fois qu'une saisie à lieu dans l'une des colonnes suivantes : A-F, le recalcul
s'effectue. Macro a copiée dans le module feuille où l'action se déroule.
'--------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column < 7 Then
Columns("A:F").Calculate
End If

End Sub
'--------------------------


Salutations!



"Bourby" a écrit dans le message de news: %
bonjour,

j'ai un assez gros tableur, qui calcule deux sortes de valeurs: des coûts et
des délais.
Les calculs deviennent trop longs quand j'encode de nouvelles valeurs.

Lorsque j'encode de nouvelles valeurs, j'ai besoin que les coûts se
calculent en temps réel, mais pas les délais;
ls coûts ne représentent que 10% des formules, donc ça pourrait être rapide.
Les coûts sont dans les colonnes A à F, et les délais dans les suivantes.
Les cellules des colonnes A à F n'ont pas d'antécédents en dehors de ces
colonnes.
Donc, si on pouvait lui dire: "calculer uniquement les colonnes A à F de la
Feuille 1",
ça m'irait parfaitement.

Y-a-t-il une solution (moins bestiale que de créer 2 classeurs avec des
liaisons...)?

D'avance merci pour votre aide.

Bourby
Avatar
Bourby
bonjour et merci michdenis,
c'est exactement ce qu'il me faut;
j'étais tellement persuadé que application.calculation=etc..., et calculate
s'appliquaient au classeur entier que je n'ai pas regardé l'aide....

Bourby


"michdenis" a écrit dans le message news:

Bonjour Bourby,

En vba, tu peux commander le recalcul d'un classeur, d'une feuille où
d'une plage de cellules seulement.


Si tu places l'option "Calcul" sur manuel, tu peux utiliser une macro pour
recalculer seulement la plage de cellule

désirée.

Directement de l'aide d'excel :
'---------------------------
tous les classeurs ouverts
Application.Calculate (ou simplement Calculate)

une feuille de calcul particulière
Worksheets(1).Calculate

une plage déterminée
Worksheets(1).Rows(2).Calculate
'---------------------------


Une Macro possible serait : à chaque fois qu'une saisie à lieu dans l'une
des colonnes suivantes : A-F, le recalcul

s'effectue. Macro a copiée dans le module feuille où l'action se déroule.
'--------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column < 7 Then
Columns("A:F").Calculate
End If

End Sub
'--------------------------


Salutations!



"Bourby" a écrit dans le message de news:
%

bonjour,

j'ai un assez gros tableur, qui calcule deux sortes de valeurs: des coûts
et

des délais.
Les calculs deviennent trop longs quand j'encode de nouvelles valeurs.

Lorsque j'encode de nouvelles valeurs, j'ai besoin que les coûts se
calculent en temps réel, mais pas les délais;
ls coûts ne représentent que 10% des formules, donc ça pourrait être
rapide.

Les coûts sont dans les colonnes A à F, et les délais dans les suivantes.
Les cellules des colonnes A à F n'ont pas d'antécédents en dehors de ces
colonnes.
Donc, si on pouvait lui dire: "calculer uniquement les colonnes A à F de
la

Feuille 1",
ça m'irait parfaitement.

Y-a-t-il une solution (moins bestiale que de créer 2 classeurs avec des
liaisons...)?

D'avance merci pour votre aide.

Bourby