Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ameliorer macro (lenteur)

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

S

sabineG

Guest
Bonjour au forum

J'ai fouiné un peu partout et j'ai réussi à mettre en place un code qui permet de créer une semaine de travail (du lundi au vendredi) avec les noms des employés qui se répètent chaque jour.
Ce code fonctionne mais au fur et à mesure que j'ajoute des semaines il devient de plus en plus long à s'exécuter.

Je joins le fichier que j'ai réduit au strict minimum pour cette demande.
Si quelqu'un pouvait y jeter un œil ce serait sympa.

Bonne journée à tous
Sabine
 

Pièces jointes

Bonjour Sabine,

La macro est rapide mais je vois que: x = Time est placé beaucoup trop haut dans le code

il eut été plus judicieux de placer cette instruction juste après:
a = InputBox("Saisir le LUNDI de la ...........................

à+
Philippe
 
Bonsoir Philippe

Merci de ta réponse.
J'ai fait ce que tu conseilles mais le temps d'exécution augmente toujours autant :

1er lancement = 6 secondes
2ème lancement = 16 secondes
3ème lancement = 32 secondes
4ème lancement = 53 secondes

A la fin de l'année, j'aurai le temps de faire une pause café + pause cigarette + pause pipi (hi!, hi!)

Je sais qu'il n'y a pas mort d'homme mais je pense qu'il doit exister un autre code plus rapide que celui-ci.

Sabine
 
Bonjour,
Sur ma machine je fais le test au 30/06 => 22 secondes

Je change
' Dim i As Long, PremLigne As Long, Mem As Long
par
Dim i As Integer, PremLigne As Integer, Mem As Integer

je passe à 13 secondes .

Toujours cela de pris
 
Bonjour le fil, le forum

Une petite suggestion pour une petit amélioration
(dans la macro BordureTout)
VB:
'Efface ligne rouge
Cells(Derlg, 1).Resize(, [NbCol]).Borders(9).LineStyle = xlNone
'x = [Plage_TCD].Rows.Count
 
- 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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…