Problème sur un temps d'exécution

laurano

XLDnaute Junior
Bonjour,

Mon nouveau problème du jour (avec excel on n'est jamais en manque :eek:) ) : je copie une plage de cellules contenant des formules sur une autre feuille par un collage spécial valeur. L'opération à la main prend une fraction de seconde. Quand je fais la même chose via le code ci-desssous; mon ordinateur entre en transe et se met à faire des calculs à n'en plus finir (c'est ce que dit le compteur en bas en tout cas...) pour finalement faire la même opération en à peu près 1 minute. Quelqu'un voit-il ce qui peut perturber la machine dans le code que j'ai écrit au point de la faire ramer de la sorte ?

Sheets(NOMBASE).Activate
Sheets(NOMBASE).Range(Cells(6, 5), Cells(5 + LENSBASE, 5)).Copy
Sheets("COMPIL").Activate
Sheets("COMPIL").Cells(LTOTAL, 2).PasteSpecial Paste:=xlPasteValues

LENSBASE est un paramètre qui permet de définir la taille de la zone à coller issue de la feuille NOMBASE et LTOTAL est un paramètre permettant de déterminer où coller les éléments dans la feuille COMPIL.

Encore une fois, ce code fonctionne, mais il est affreusement long. Ca donne l'impression que toutes les formules de la zone copiée sont remises à jour avant d'être collées...

Merci de votre aide.
 

pierrejean

XLDnaute Barbatruc
Re : Problème sur un temps d'exécution

Bonjour laurano

A tester

Code:
Application.Calculation = xlCalculationManual
Sheets(NOMBASE).Range(Cells(6, 5), Cells(5 + LENSBASE, 5)).Copy
Sheets("COMPIL").Activate
Sheets("COMPIL").Cells(LTOTAL, 2).PasteSpecial Paste:=xlPasteValues
Application.Calculation = xlCalculationAutomatic
 

Gorfael

XLDnaute Barbatruc
Re : Problème sur un temps d'exécution

Salut laurano et le forum

petite question : quand tu vas voir ton garagiste parce que ta voiture démarre mal, tu lui apporte le démarreur ?

Quand une macro ne fonctionne pas comme tu le souhaites, donne tout le code et éventuellement les autres codes qu'elle utilise !
A+
 

laurano

XLDnaute Junior
Re : Problème sur un temps d'exécution

Pourquoi faut-il toujours qu'il y en ait pour rouspéter parce qu'on n'a pas donné l'intégralité du code ? Le problème me parait simple et a contrario le code dans sa globalité est très long et fait des tas d'autres choses qui n'ont strictement rien à voir. Alors oui, je suis d'accord qu'en ne présentant pas la totalité du code, je risque de cacher en fait la cause de mon problème. D'un autre côté, si je met l'intégralité du bazar sur le message, je pense que peu nombreux seront ceux qui auront le courage de traiter le problème. alors effectivement, je préfère ne donner qu'une partie du code, quitte à devoir revenir après parce que les solutions proposées ne conviennent pas, que de filer un roman auquel personne ne répondra...
Et merci pierrejean pour ta réponse, je vais tester...
 

laurano

XLDnaute Junior
Re : Problème sur un temps d'exécution

Oh je snobe personne, mais même si ta remarque est fondée, elle m'agace pour les raisons que j'ai déjà dites je vais pas revenir dessus. En plus, tu vas être content ! mon problème n'est pas résolu ! :eek:)
Bloquer les calculs, ça permet de faire la copie très vite effectivement, hormis que dès qu'on les réactive, c'est le même bordel : on ne fait que reporter le problème. En fait le collage alimente une base sur laquelle des tas de recherchev viennent chercher des infos, ce qui, typiquement, entraine des calculs à n'en plus finir. D'autre part, en retestant, je viens de me rendre compte que j'ai des problèmes de rapidité d'exécution aussi en fait : peut-être un peu moins important mais à peine. Mon problème est peut-être sans solution car quand il y a beaucoup de recherhev, ça rame toujours et je ne sais pas comment empecher ça...
 

kjin

XLDnaute Barbatruc
Re : Problème sur un temps d'exécution

Re,
Oh je snobe personne, mais même si ta remarque est fondée, elle m'agace pour les raisons que j'ai déjà dites je vais pas revenir dessus. En plus, tu vas être content ! mon problème n'est pas résolu ! :eek:)
En fait, moi c'est kjin et je suis toujours très content, mais vu le ton que tu emploies je crains que ça ne dure !
kjin
 

laurano

XLDnaute Junior
Re : Problème sur un temps d'exécution

Stop ! pas de montée nasale de moutarde, c'est trop bête ! Ca m'est déjà suffisamment arrivé par le passé sur les forums divers et variés pour vouloir éviter de reproduire pour si peu. Restons en là, inutile de nous fâcher.
En farfouillant, je me rend bien compte que ce mon problème est lié à cette réactalisation de recherchev qui est très longue. en plus comme je faisais plusieurs collages, c'était autant de réactualisations interminables. J'ai donc réécrit ma macro de façon à ne faire le collage et donc la réactualisation qu'une fois. C'est mieux que rien.
En attendant un prochain obstable car ils ne manquent pas pour moi. Je veux bien mettre tout le code la prochaine fois, ça m'est égal, mais tu n'es pas d'accord quand je dis que ça risque de décourager des âmes charitables ? si effectivement, ce risque est nul, je le ferai sans hésiter. Je faisais ça pour simplifier le problème, au risque effectivement, de passer à côté.
 

kjin

XLDnaute Barbatruc
Re : Problème sur un temps d'exécution

Re
Stop ! pas de montée nasale de moutarde, c'est trop bête ! Ca m'est déjà suffisamment arrivé par le passé sur les forums divers et variés pour vouloir éviter de reproduire pour si peu. Restons en là, inutile de nous fâcher.
Tu as raison, je viens de supprimer la proposition du message 4 à laquelle tu n'as jamais répondu, c'est d'ailleurs le seul reproche que je me suis permis de faire dans le message 6, pour le reste je ne sais pas de quoi tu me parles
kjin
 

laurano

XLDnaute Junior
Re : Problème sur un temps d'exécution

Tu as raison, je t'ai honteusement confondu avec gorfael qui voulait à toute force que je mettre l'intégralité du code et effectivement du coup j'ai zappé ta propal, que je n'ai donc pas testée. Décidément, c'est n'importe quoi cette affaire ! J'essaierai de faire mieux la prochaine fois. Sans rancunes ! (en tout cas j'espère ;o) )
 

Gorfael

XLDnaute Barbatruc
Re : Problème sur un temps d'exécution

Salut laurano et le forum
avec gorfael qui voulait à toute force que je mettre l'intégralité du code
Non, tu n'as pas tout compris. Je ne voulais pas ton code secret défense "de toute force". Je ne le voulait que pour t'aider. Mais comme je vois que mon niveau d’accréditation est trop bas, je vais me désabonner de ce sujet
Bonsoir
 

Discussions similaires

Statistiques des forums

Discussions
312 538
Messages
2 089 396
Membres
104 158
dernier inscrit
obad