traitement trop rapide ?

quatrelle06

XLDnaute Nouveau
Bonjour,

Il m'arrive très souvent d'écrire des macros Excel pour des traitements ponctuels de donnée ; le plus souvent des rapprochements et mise à jours d'information.

Toujours est-il qu'a fin de suivre l'avancement de ma macro, j'utilise la fonction "cells(i,x).select"...une fonction vraiement ce qu'il y a de plus simple.

Depuis excel 2010, lorsque lance une macro qui traite un grand nombre de ligne, au début je vois bien le curseur se positionner sur la cellule en question (je peux donc suivre l'avancement de la macro), mais au bout d'un moment, j'ai un beau sablier et l'affichage reste figé....pourtant, si je fais "échap" (et que je reprend donc le controle de la macro), je me rend compte que le traitement se déroule normalement...

Il n'y a donc que l'affichage par la fonction "cells(i,x).select" qui se "désactive" au bout d'un moment.

Donc ma question : est-ce normal ? comment faire pour y remedier ?

D'avance merci.

Pour info, lorsque j'avais excel 2003 (je suis passé de 2003 à 2010), je n'avais pas de soucis.
 

Paritec

XLDnaute Barbatruc
Re : traitement trop rapide ?

bonsoir quatrelle 06 le forum
alors tu veux aller moins vite oui mais pourquoi suivre la sélection des cellules? juste pour perdre du temps ou as-tu une raison précise?
n'as-tu pas un application.screenupdating=false ??
a+
papou :)
 

Pierrot93

XLDnaute Barbatruc
Re : traitement trop rapide ?

Bonsoir, Re Papou:)

petite info au passage, essaye peut être en exécutant ton code pas à pas (utilisation de la touche de fonction F8 dans l'éditeur vba), mais comme Pascal, manque de précision tout ca, peut être nous montrer ton code...

bonne soirée
@+
 

quatrelle06

XLDnaute Nouveau
Re : traitement trop rapide ?

voilà le debut de la macro...

For i = 7 To 15000
Cells(i, 1).Select

nom = Cells(i, 3).Value

If nom = "" Or nom = " " Then Exit For

prenom = Cells(i, 4).Value
date1 = Cells(i, 18).Value
date2 = Cells(i, 19).Value
niv = ""


le reste, c'est du remplissage...en fait du traitement

En pas à pas avec F8, tout fonctionne, mais sinon, au bout d'un moment§...l'écran se fige (même si la macro fonctionne en arrière plan).

Quelqu'un a parlé de "application.screenupdating=false"...il ne serait pas à "false" par défaut ?
 

Pierrot93

XLDnaute Barbatruc
Re : traitement trop rapide ?

Re,

Quelqu'un a parlé de "application.screenupdating=false"...il ne serait pas à "false" par défaut ?

c'est le rafraichissement de l'écran, par défaut il est à "true", on l'état vois pas trop... sans voir le fichier difficile à dire... par contre en vba rartement utile de faire des "select".... A voir ton besoin réel...
 

quatrelle06

XLDnaute Nouveau
Re : traitement trop rapide ?

bin le select, c'est juste pour suivre l'avancement....car parfois, le traitement est long !
Bon faut dire aussi que je fais de la programmation façon "pépère"...je ne suis pas dans l'optimisation (*)....le principal pour moi étant que cela fonctionne car mes macros ne servent qu'une seule fois (dans plus de 95% des cas)

(*) pour vous donner un exemple, lorsque je dois comparer deux onglets avec des noms et prénoms, je fait toujours de la recherche cellule par cellule, je n'utilise jamais les fonctions spécifique à la recherche....c'est con, mais jamais eu le temps de me pencher dessus...toujours obsédé par le résultat et pas par le coté "fonctionnel"
 

Discussions similaires

Statistiques des forums

Discussions
312 842
Messages
2 092 738
Membres
105 519
dernier inscrit
faivre-roussel.ivan@orang