OVH Cloud OVH Cloud

Pb délicat de calcul sur excel

5 réponses
Avatar
Marquet
Bonjour,
J'utilise un mod=E8le chimique sous excel que je manipule=20
avec des macros effectuant des copy/past. Ce type de=20
manipulation perturbe le d=E9roulement des calculs de la=20
feuille.

Ex. Je s=E9lectionne et copie des colonnes (environ 1000=20
formules) , je les d=E9cale d'une trentaine de colonnes puis=20
les colle vers ces nouvelles colonnes. L'op=E9ration est=20
effectu=E9e dans un sens puis dans l'autre, ce qui fait que=20
la feuille r=E9sultante est invariante. Pendant cette=20
op=E9ration, les calculs sont arr=EAt=E9s.

Apr=E9s r=E9activation des calculs, j'observe les=20
comportements suivants :
1- Les calculs deviennent 3 fois plus lents
2- la barre de t=E2che affiche toujours "Calculer", m=EAme=20
apr=E8s recalcul (F9)
3- F9 provoque toujours un recalcul alors qu'il n'y a rien=20
=E0 calculer

Le seul rem=E8de que j'aie trouv=E9 est sauver le mod=E8le et de=20
le recharger sur une nouvelle session excel. Le mod=E8le=20
manipul=E9 retrouve alors les propri=E9t=E9s du mod=E8le d'origine=20
(identique).

En vous remerciant pour votre aide,

Jean-baptiste.

5 réponses

Avatar
poy-poy
Bonjour Marquet,

C'est un problème de mémoire RAM... J'ai le même type de problème sur un
fichier où il y a trop de sommeproduct, moi c'est en refreshant des pivot que
les sommeproduct non plus assez de mémoires disponible, toi c'est en copiant.

Fais tu déjà un Application.CutCopyMode = False dans ton code ?
Si non, cela devrait déjà te faire gagner de la mémoire et il est possible
qu'excel arrive à finir le reste.
Autre possibilité, faire un application.calculation = xlmanual avant le copy
et même le plus souvent possible en ne faisant un application.calculationfull
que vers la fin.

Bonne chance
Cordialement
Benjamin



Bonjour,
J'utilise un modèle chimique sous excel que je manipule
avec des macros effectuant des copy/past. Ce type de
manipulation perturbe le déroulement des calculs de la
feuille.

Ex. Je sélectionne et copie des colonnes (environ 1000
formules) , je les décale d'une trentaine de colonnes puis
les colle vers ces nouvelles colonnes. L'opération est
effectuée dans un sens puis dans l'autre, ce qui fait que
la feuille résultante est invariante. Pendant cette
opération, les calculs sont arrêtés.

Aprés réactivation des calculs, j'observe les
comportements suivants :
1- Les calculs deviennent 3 fois plus lents
2- la barre de tâche affiche toujours "Calculer", même
après recalcul (F9)
3- F9 provoque toujours un recalcul alors qu'il n'y a rien
à calculer

Le seul remède que j'aie trouvé est sauver le modèle et de
le recharger sur une nouvelle session excel. Le modèle
manipulé retrouve alors les propriétés du modèle d'origine
(identique).

En vous remerciant pour votre aide,

Jean-baptiste.



Avatar
Marquet
Bonjour,

je te remercie pour t
-----Message d'origine-----
Bonjour Marquet,

C'est un problème de mémoire RAM... J'ai le même type
de problème sur un

fichier où il y a trop de sommeproduct, moi c'est en
refreshant des pivot que

les sommeproduct non plus assez de mémoires disponible,
toi c'est en copiant.


Fais tu déjà un Application.CutCopyMode = False dans
ton code ?

Si non, cela devrait déjà te faire gagner de la
mémoire et il est possible

qu'excel arrive à finir le reste.
Autre possibilité, faire un application.calculation =
xlmanual avant le copy

et même le plus souvent possible en ne faisant un
application.calculationfull

que vers la fin.

Bonne chance
Cordialement
Benjamin



Bonjour,
J'utilise un modèle chimique sous excel que je
manipule


avec des macros effectuant des copy/past. Ce type de
manipulation perturbe le déroulement des calculs de la
feuille.

Ex. Je sélectionne et copie des colonnes (environ 1000
formules) , je les décale d'une trentaine de colonnes
puis


les colle vers ces nouvelles colonnes. L'opération est
effectuée dans un sens puis dans l'autre, ce qui fait
que


la feuille résultante est invariante. Pendant cette
opération, les calculs sont arrêtés.

Aprés réactivation des calculs, j'observe les
comportements suivants :
1- Les calculs deviennent 3 fois plus lents
2- la barre de tâche affiche toujours "Calculer",
même


après recalcul (F9)
3- F9 provoque toujours un recalcul alors qu'il n'y a
rien


à calculer

Le seul remède que j'aie trouvé est sauver le modèle
et de


le recharger sur une nouvelle session excel. Le modèle
manipulé retrouve alors les propriétés du modèle
d'origine


(identique).

En vous remerciant pour votre aide,

Jean-baptiste.

.





Avatar
Marquet
Bonjour benjamin,

erreur de manip sur le post précédent.
Donc, je te remercie pour ta réponse.
J'ai instrumenté le code de ma macro avec des messages
affichant MemoryUsed, MemoryFree et MemoryTotal.
Je remarque que l'augmentation du mémoryused est de l'ordre
de 838 044 o, et que le mémoryFree est toujours de 1 048
576 o, donc a priori je dispose d'assez de mémoire.
Ces résultats ont été obtenus après avoir ajouté des
instructions Application.CutCopyMode = False
et application.calculation = xlmanual et en ne réalisant
qu'un seul application.calculatefull en fin de macro.
Malheureusement le problème persiste.

Si tu as d'autres idées, je suis preneur.

Jean-baptiste.


-----Message d'origine-----
Bonjour Marquet,

C'est un problème de mémoire RAM... J'ai le même type
de problème sur un

fichier où il y a trop de sommeproduct, moi c'est en
refreshant des pivot que

les sommeproduct non plus assez de mémoires disponible,
toi c'est en copiant.


Fais tu déjà un Application.CutCopyMode = False dans
ton code ?

Si non, cela devrait déjà te faire gagner de la
mémoire et il est possible

qu'excel arrive à finir le reste.
Autre possibilité, faire un application.calculation =
xlmanual avant le copy

et même le plus souvent possible en ne faisant un
application.calculationfull

que vers la fin.

Bonne chance
Cordialement
Benjamin



Bonjour,
J'utilise un modèle chimique sous excel que je
manipule


avec des macros effectuant des copy/past. Ce type de
manipulation perturbe le déroulement des calculs de la
feuille.

Ex. Je sélectionne et copie des colonnes (environ 1000
formules) , je les décale d'une trentaine de colonnes
puis


les colle vers ces nouvelles colonnes. L'opération est
effectuée dans un sens puis dans l'autre, ce qui fait
que


la feuille résultante est invariante. Pendant cette
opération, les calculs sont arrêtés.

Aprés réactivation des calculs, j'observe les
comportements suivants :
1- Les calculs deviennent 3 fois plus lents
2- la barre de tâche affiche toujours "Calculer",
même


après recalcul (F9)
3- F9 provoque toujours un recalcul alors qu'il n'y a
rien


à calculer

Le seul remède que j'aie trouvé est sauver le modèle
et de


le recharger sur une nouvelle session excel. Le modèle
manipulé retrouve alors les propriétés du modèle
d'origine


(identique).

En vous remerciant pour votre aide,

Jean-baptiste.

.





Avatar
poy-poy
Bonjour Marquet,

Hum, j'avoue ne pas avoir d'autres idées pour améliorer ton processus. Je ne
connais pas les memoryfree et memorytotal mais moi si je fais un ctrl+alt+sup
et que je regarde ce qu'il se passe sous excel quand il me fait ca, j'ai un
processeur à 100% et une mémoire RAM qui me prend tout ce qu'elle peut. Je me
demande ce que représente tes memory, car leur somme donne 2 Mo ce qui paraît
peu pour la mémoire non ?

Enfin, je suis désolé de t'annoncer que je passe la main.

Cordialement
Benjamin



Bonjour benjamin,

erreur de manip sur le post précédent.
Donc, je te remercie pour ta réponse.
J'ai instrumenté le code de ma macro avec des messages
affichant MemoryUsed, MemoryFree et MemoryTotal.
Je remarque que l'augmentation du mémoryused est de l'ordre
de 838 044 o, et que le mémoryFree est toujours de 1 048
576 o, donc a priori je dispose d'assez de mémoire.
Ces résultats ont été obtenus après avoir ajouté des
instructions Application.CutCopyMode = False
et application.calculation = xlmanual et en ne réalisant
qu'un seul application.calculatefull en fin de macro.
Malheureusement le problème persiste.

Si tu as d'autres idées, je suis preneur.

Jean-baptiste.


-----Message d'origine-----
Bonjour Marquet,

C'est un problème de mémoire RAM... J'ai le même type
de problème sur un

fichier où il y a trop de sommeproduct, moi c'est en
refreshant des pivot que

les sommeproduct non plus assez de mémoires disponible,
toi c'est en copiant.


Fais tu déjà un Application.CutCopyMode = False dans
ton code ?

Si non, cela devrait déjà te faire gagner de la
mémoire et il est possible

qu'excel arrive à finir le reste.
Autre possibilité, faire un application.calculation =
xlmanual avant le copy

et même le plus souvent possible en ne faisant un
application.calculationfull

que vers la fin.

Bonne chance
Cordialement
Benjamin



Bonjour,
J'utilise un modèle chimique sous excel que je
manipule


avec des macros effectuant des copy/past. Ce type de
manipulation perturbe le déroulement des calculs de la
feuille.

Ex. Je sélectionne et copie des colonnes (environ 1000
formules) , je les décale d'une trentaine de colonnes
puis


les colle vers ces nouvelles colonnes. L'opération est
effectuée dans un sens puis dans l'autre, ce qui fait
que


la feuille résultante est invariante. Pendant cette
opération, les calculs sont arrêtés.

Aprés réactivation des calculs, j'observe les
comportements suivants :
1- Les calculs deviennent 3 fois plus lents
2- la barre de tâche affiche toujours "Calculer",
même


après recalcul (F9)
3- F9 provoque toujours un recalcul alors qu'il n'y a
rien


à calculer

Le seul remède que j'aie trouvé est sauver le modèle
et de


le recharger sur une nouvelle session excel. Le modèle
manipulé retrouve alors les propriétés du modèle
d'origine


(identique).

En vous remerciant pour votre aide,

Jean-baptiste.

.








Avatar
Daniel.M
Bonjour,

Il me semble avoir lui qu'au dessus de 64K cellules (UsedRange), le mécanisme de
l'engin de recalculation ne se fait plus de la même manière.

Si c'est vrai, il est possible que ta recopie 'temporaire' affecte l'UsedRange
et cela pourrait expliquer tes problème.

Pour moi, il est très difficile de t'aider sans avoir une partie des macros
et/ou structuration des données (donc le classeur) sous les yeux.

Les macros sont-elles confidentielles?
Y a-t-il moyen de fournir une copie du classeur (en ayant changer les données)?
Autrement, on va rester dans des considérations générales (comme ma première
remarque ci-dessus).

Salutations,

Daniel M.

"Marquet" wrote in message
news:033a01c4d7bb$05024eb0$
Bonjour,
J'utilise un modèle chimique sous excel que je manipule
avec des macros effectuant des copy/past. Ce type de
manipulation perturbe le déroulement des calculs de la
feuille.

Ex. Je sélectionne et copie des colonnes (environ 1000
formules) , je les décale d'une trentaine de colonnes puis
les colle vers ces nouvelles colonnes. L'opération est
effectuée dans un sens puis dans l'autre, ce qui fait que
la feuille résultante est invariante. Pendant cette
opération, les calculs sont arrêtés.

Aprés réactivation des calculs, j'observe les
comportements suivants :
1- Les calculs deviennent 3 fois plus lents
2- la barre de tâche affiche toujours "Calculer", même
après recalcul (F9)
3- F9 provoque toujours un recalcul alors qu'il n'y a rien
à calculer

Le seul remède que j'aie trouvé est sauver le modèle et de
le recharger sur une nouvelle session excel. Le modèle
manipulé retrouve alors les propriétés du modèle d'origine
(identique).

En vous remerciant pour votre aide,

Jean-baptiste.