OVH Cloud OVH Cloud

Problème combobox et recalcul

2 réponses
Avatar
Paul
Bonjour,

Sur une feuille de calcul j'ai plusieurs comboxbox. L'un d'entre eux,
lorsqu'on change sa valeur, va modifier ensuite la source d'un deuxième
combobox ainsi que la valeur de ce dernier.

Du coup mon classeur se recalcule plusieurs fois de suite à chaque
changement de la valeur du premier combobox, ce qui est pénalisant car
le temps normal de calcul est déjà de 2mn.

(en fait j'ai l'impression que le recalcul se fait une fois pour le
changement de la valeur du premier combobox, une autre fois pour le
changement de valeur de la cellule liée du premier combobox et deux
autres fois pour le deuxième combobox, mais peut-être je me trompe ?)

Comment pourrais-je inhiber les recalculs supplémentaires ?
Merci de votre aide.

Paul

2 réponses

Avatar
westindian
Bonjour,

Ne connaissant pas ton projet, je te dirais rajoute un flag de chargement
dans ton projet.
Je m'explique.
Lorsque le premier combo est charge, ce flag est a vrai donc il charge le ou
les suivantes puis passe a faux.
S'il est a faux cela ne permet pas le chargement des combos.

J'espere avoir bien compris, dans le cas contraire, publie ton code et on
travaillera dessus ensemble.

@+

WestIndian

"Paul" wrote in message
news:440f2fd8$0$25829$
Bonjour,

Sur une feuille de calcul j'ai plusieurs comboxbox. L'un d'entre eux,
lorsqu'on change sa valeur, va modifier ensuite la source d'un deuxième
combobox ainsi que la valeur de ce dernier.

Du coup mon classeur se recalcule plusieurs fois de suite à chaque
changement de la valeur du premier combobox, ce qui est pénalisant car le
temps normal de calcul est déjà de 2mn.

(en fait j'ai l'impression que le recalcul se fait une fois pour le
changement de la valeur du premier combobox, une autre fois pour le
changement de valeur de la cellule liée du premier combobox et deux autres
fois pour le deuxième combobox, mais peut-être je me trompe ?)

Comment pourrais-je inhiber les recalculs supplémentaires ?
Merci de votre aide.

Paul


Avatar
Paul
Bonjour,

J'ai pu identifier la séquence des opérations qu'exécute Excel lorsque je
choisis une autre valeur dans mon premier combobox :

- recalcul

- exécution de l'événement Change du combobox 1 comportant la modification
source du Combobox2 entraînant :

* recalcul

* exécution de l'événement Change du combobox 2 (il n'y a pas de code vb
dans l'événement en question)

* recalcul

* exécution de l'événément Change du combobox 2

* recalcul

Voilà. La modification de la source du Combobox2 se fait par redéfinition du
nom correspondant à la source.

Je précise que j'ai essayé de désactiver le calcul automatique, mais ça ne
change pas grand-chose :

- recalcul

- exécution de l'événement Change du combobox 1 comportant

- passage au calcul manuel

- la modification source du Combobox2

- passage au calcul automatique entraînant :

* recalcul

* exécution de l'événement Change du combobox 2

* recalcul

* exécution de l'événément Change du combobox 2

* recalcul

Merci de vos lumières.

Paul



"westindian" a écrit dans le message de
news:
Bonjour,

Ne connaissant pas ton projet, je te dirais rajoute un flag de chargement
dans ton projet.
Je m'explique.
Lorsque le premier combo est charge, ce flag est a vrai donc il charge le
ou

les suivantes puis passe a faux.
S'il est a faux cela ne permet pas le chargement des combos.

J'espere avoir bien compris, dans le cas contraire, publie ton code et on
travaillera dessus ensemble.

@+

WestIndian

"Paul" wrote in message
news:440f2fd8$0$25829$
Bonjour,

Sur une feuille de calcul j'ai plusieurs comboxbox. L'un d'entre eux,
lorsqu'on change sa valeur, va modifier ensuite la source d'un deuxième
combobox ainsi que la valeur de ce dernier.

Du coup mon classeur se recalcule plusieurs fois de suite à chaque
changement de la valeur du premier combobox, ce qui est pénalisant car
le


temps normal de calcul est déjà de 2mn.

(en fait j'ai l'impression que le recalcul se fait une fois pour le
changement de la valeur du premier combobox, une autre fois pour le
changement de valeur de la cellule liée du premier combobox et deux
autres


fois pour le deuxième combobox, mais peut-être je me trompe ?)

Comment pourrais-je inhiber les recalculs supplémentaires ?
Merci de votre aide.

Paul