traitement trop rapide ?

  • Initiateur de la discussion Initiateur de la discussion quatrelle06
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Q

quatrelle06

Guest
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.
 
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 🙂
 
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
@+
 
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 ?
 
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...
 
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"
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour