accelerer la vitesse de la macro

  • Initiateur de la discussion Initiateur de la discussion pasquetp
  • 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 !

pasquetp

XLDnaute Occasionnel
Bonjour,

Je viens vers vous car bien que ma macro fonctionne je souhaiterai l'ameliorer.

J'ai appris récemment qu'il faut éviter certains codes (en particulier le .select .activate).

Pourrirez vous me dire vos proposition pour accélérer la macro. (notez que le nombre de ligne atteint plus de 5000 lignes. dans ce fichier je vous ai mis un échantillon.

Merci infiniment de votre aide
 

Pièces jointes

Re : accelerer la vitesse de la macro

Bonjour.
Comme on ne sait pas à quoi ça sert ni qu'est-ce qui est à accélérer, on ne peut vous donner que des indications générales.
Très schématiquement moins on utilise Cells ou Range mieux ça vaut. Donc une seule fois Range(Plage de 10000 cellules).Value récupéré dans un tableau de Variant est en gros 10000 fois plus rapide que 10000 appels à la méthode Range pour récupérer chacune.
Cordialement.
 
Re : accelerer la vitesse de la macro

Bonjour,

Merci pour la réponse.

mes excuses pour le manque d'information:

en gros, le point commun entre la feuille 1 et la feuille 2 est la colonne A

la feuille 1 colonne A contient toutes les informations
la feuille 2 colonne A contient toutes les informations qui doivent subir un changement.

dans la colonne B de la feuille 2 contient les nouvelles informations a mettre dans la feuille 1 dans la colonne que vous determinez dans la macro

j’espère que c'est plus claire

merci de vos réponses
 
Re : accelerer la vitesse de la macro

je te remercie par avance. ca a l'air vraiment interessant en particulier le Application.Calculation = xlCalculationManual
et en fin de macro
Application.Calculation = xlCalculationautomatic
çà devrait notablement accélerer ton temps de traitement

je le connnaissais pas. mais serait il possible d'avoir des exemples sur mon fichier. chaque cas etant unique, je ne sais pas trop comment adapter mon fichier par rapport a ton cas.

merci en tou cas. c'est vraiement instructif sur le sujet
 
Re : accelerer la vitesse de la macro

Effectivement, ajoute :
Début de macro
Code:
Application.Calculation = xlCalculationManual
Fin de macro
Code:
Application.Calculation = xlCalculationautomatic


Change tes
Code:
Cells(ActiveCell.Row, ii).Select
T'en fais pas mal selon moi qui ne servent à rien.


J'ai vu que tu utilisais les With, c'est bien.

Après, j'en suis à mes débuts en ce qui concerne ce genre de problématique. Pour le moment, si ce que je fais marche, c'est deja bien, même si le code est bidon ^^.
Cordialement,
Thibault.
 
Re : accelerer la vitesse de la macro

salut thibault

merci pour l'analyse.

en effet il y a trop de codes de ce genre Cells(ActiveCell.Row, ii).Select

pourrez tu me proposer un fichier avec un autre type de code comme le with par exemple ou autre.

je maitrise pas tres bien le with 🙁
 
- 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

Discussions similaires

N
Réponses
5
Affichages
3 K
Nicocotte125
N
C
Réponses
7
Affichages
2 K
calimero44
C
B
Réponses
15
Affichages
3 K
beowulf97
B
R
Réponses
0
Affichages
795
R
H
Réponses
18
Affichages
23 K
hook85
H
N
Réponses
14
Affichages
5 K
N
N
Réponses
2
Affichages
2 K
nickos2406
N
C
Réponses
5
Affichages
1 K
CharlesSSQ
C
E
Réponses
2
Affichages
1 K
Evinrude
E
M
Réponses
12
Affichages
4 K
M
Retour