OVH Cloud OVH Cloud

Liens DDE Bloomberg

4 réponses
Avatar
patrick.velasco
Bonjour,

Quelqu'un as t-il une experience dans les liens DDE Bloomberg dans
Excel ?

J'ai de gros problèmes de performances sur une feuille avec des mises
à jour de prix et un recalcul permanent qui consome toutes les
ressources de la machine.

4 réponses

Avatar
Jp Pradier
Bonsoir Patrick

Tu devrais préciser un peu : ta version d'excel, le type de problème etc...

j-p
Avatar
patrick.velasco
J'utilise plusieurs feuilles excel 97 avec en moyenne 3.000 connexion
DDE Bloomberg pour recuperer dans les 15.000 fields de prix en temps
réel. Les API Bloomberg sont directement utilisées dans la feuille,
pas de macro ni de VB.

J'ai l'impression que la mise à jour d'un prix via le DDE entraine
systematique le recalcul de la feuille, du coup excel est constament
en cours de recalcul et la machine est à 100% CPU en permanence. Ce
qui signifie que mon traitement n'est en fait pas en temps réel
(puisque à 100% de CPU on attend forcement). Par ailleurs je dois
encore ajouter d'autres lignes, ce qui visiblement ne sera pas
possible sans degrader la qualité du service.

J'avais pensé à diminuer l'interval de recalcul en le forcant à toutes
les 2 secondes afin d'aléger la charge. Pour cela j'ai mis la feuille
en calcul manuel et forcé le recalcul via la fonction OnTime. Mais
cela ne fonctionne pas, d'une part le temps d'attente n'est pas
respecté dès que je travaille avec les API Bloomberg (il y
probablement d'autres calculs forcés quelque part) et d'autre part
pendant l'attente les liens DDE ne mettent pas à jour les prix.

Soit cette solution n'est pas la bonne, soit je m'y prend mal.
Quelqu'un aurait-il une autre idée pour limiter le calcul à un
interval régulier ?

J'ai aussi essayé de limiter la mise à jour des liens DDE à plusieurs
seconde mais la encore le recalcul après se passe mal et prend encore
plus de temps ...

Merci

Patrick
Avatar
patrick.velasco
En fait j'ai déja quatre machines rapides ou tourne 4 excell avec
cette fonction, la prochaine etape serai des bi-processeur mais avec
cette version de NT et d'excell il y toute les chances pour que ca ne
serve à rien.

Coté Bloomberg c'est pas terrible non plus, si ce n'est qu'il faut en
faire moins (et acheter d'autres licences ....)

Comme les données changent en permanance je ne vois pas très bien
comment utiliser la fonction que tu m'indique ?
Avatar
Jp Pradier
Eh bien, si tu sais que, par exemple, la dernière mise à jour est en A3000 :

Tu mets le mode recalcul en manuel
Tu utilises l'événement Worksheet_change ( et non selection_change comme dit plus haut ) sur la cellule A3000 pour faire
le calcul de ta feuille pendant les 2-3 minutes avant le prochain raffraichissement. Par contre si ta mise à jour
s'effectue obligatoirement toutes les 10 secondes, ca ne suffirat peut-etre pas.

j-p