bouton pour calcul (F9)

Pitoo

XLDnaute Nouveau
hello le forum !

mon fichier contient deux onglets permettant de calculer plein de choses avec plein de formules dependant d'un parametre a entrer, et est donc un peu lourd...

est-il possible de coller un bouton sur chaque onglet permettant de commander le calcul de toutes les formules ?
(en d'autres termes, tant que je n'appuie pas, il ne recalcule pas)

merci d'avance a tous les contributeurs

Pierre
 

fifi

XLDnaute Occasionnel
salut,
Pas de pb pour cela .. tu crée le bouton via le formulaire.
et tu lui associe la macro avec le code simplisime suivant.

sub calculate()

cells.calculate

End sub

ceci permet de faire calucler uniquement les formule de la feuille en cours. mais n'oublie pas de retirer les calculs automatiques du classeur ( Outils/ Otions/ Calcus / cocher 'sur ordre' )



de manière générale tu peux associer le le terme .calculs à tout.
(par ex : range('A21:H34').calculate)


voilou...
sinon les formules somme.prod sont tres tres lourdes :(
 

Abel

XLDnaute Accro
Bonjour Pitoo,

Le plus simple est d'adopter la solution que tu donnes dans le sujet.

Il ne faut pas oublier ni écarter la simplicité.

Dans le menu 'Outils/Options' onglet Calcul, coche 'Calcul sur ordre'. Puis l'ordre de calcul : F9.
Mais, tout ça, je suppose que tu l'as déjà fais.

Sinon, mets un bouton sur la ou les feuilles (menu 'Affichage/Barres d'outils/Boite à outils contrôle').
Fais un double clic sur le bouton pour accéder à son code 'quand_clic' et tape l'instruction 'Calculate'.
Cette instruction recalcule tous les classeurs en cours.

Auparavant, il faut cocher 'Calcul sur ordre' dans les options.


En espérant que cela te dépanne.


Abel.
 

Pitoo

XLDnaute Nouveau
ah yes merci beaucoup, je vais mettre ca vite fait bien fait !

concernant les SUMPRODUCT, ben effectivement j'en ai une bonne tonne sur mes feuilles ! toutes sur le meme principe a savoir une somme si dans deux colonnes deux criteres specifies sont remplis

genre :
Code:
=SUMPRODUCT((Phase1!$L$7:$L$2684=$I13)*(Phase1!$X$7:$X$2684=J$1)*(Phase1!R$7:R$2684))

mais ze sais pas comment faire autrement... du coup j'ai un beau bebe de 3,43 MB....

ce qui en soi n'est pas bien grave... :whistle:

Message édité par: Pitoo, à: 22/06/2005 08:40
 

fifi

XLDnaute Occasionnel
mon bébé est monté à 22Mo avec le somme.prod :(

j'ai tout remplacé par un TCD mais bon si j'avais choisi la solution des somme.prod il y a vait une raison...enfin 22M c'est pas gérable :) .

sinon pour ta formule , je ne peux pas t'aider dsl.
 

Pitoo

XLDnaute Nouveau
pas grave du tout, c'est gerable a cet age la ! :evil:

en revanche mon

Sub calculate()

calculate

End Sub

du coup il lance tout le fichier, c'est un peu long
j'ai essaye avec

sheet1.calculate

mais ca fonctionne pas...

une idee quelqu'un ?
 

Statistiques des forums

Discussions
312 672
Messages
2 090 776
Membres
104 664
dernier inscrit
jth