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

G

gerardd3617

Guest
bonsoir
j'ai recuperé 2 macros mais je trouve que la recherche est long "45 secondes "pour 250 lignes
pouvez vous regarder
cordialement
 
Dernière modification par un modérateur:
Re : macro qui est lente

Re
Ou ton micro date de l'age de pierre ( ou Pierre d'ailleurs) ou quelque chose nous echappe a tous
Peux-tu nous poster un exemple plus complet ???
Ps: ton vrai fichier ne comporterait pas par hasard des formules ?
Ps bis : Qu'entends-tu par 'mon programme'
 
Re : macro qui est lente

Bonsoir à tous, gens du fil et du forum

Avec la macro de Pierrejean ( salute 😉 )
Test sur 5000 lignes : temps d'éxécution :6 secondes
(7 secondes si lignes en commentaires décommentées )

Code:
Sub copiepj()
var1 = Time
Application.ScreenUpdating = False
With Sheets("source")
   [COLOR=Green] '.EnableCalculation = False[/COLOR]
        For n = 6 To .Range("A65536").End(xlUp).Row
            If .Range("AK" & n) <> 0 Then
            .Range(.Cells(n, 1), .Cells(n, 36)).Copy Destination:=Sheets("recap").Range("A65000").End(xlUp).Offset(1, 0)
            End If
        Next
  [COLOR=Green]  '.EnableCalculation = True[/COLOR]
    End With
Application.ScreenUpdating = True
MsgBox Format(Time - var1, "hh:mm:ss")
End Sub
Les macros de Catrice et jp14 : 2 à 4 secondes (mais elles ne font pas tout à fait la même chose que celle de Pierrejean)
 
Re : macro qui est lente

Bonjour le fil,

je propose d'exploiter le filtre auto:

Code:
Sub CopiLign()
Dim PremLigFiltre As Long, DerLigFiltre As Long
t = Timer
With Sheets("SOURCE")
    .Range("B9").AutoFilter Field:=2, Criteria1:=">6"
    PremLigFiltre = .Range("_Filterdatabase").Offset(2).Row
    DerLigFiltre = .Range("_Filterdatabase")(.Range("_Filterdatabase").Count).Row
    .Range("A" & PremLigFiltre & ":AJ" & DerLigFiltre).Copy Sheets("RECAP").Range("A5")
    .Range("B9").AutoFilter
End With
Debug.Print Timer - t
End Sub
0.20s pour 6000 lignes.
 
Dernière édition:
Re : macro qui est lente

Bonsoir


Monsieur Skoobi : chapeau bas

Temps d'exécution chez moi : 0,328125

Qui peut m'expliquer cette différence de temps ?

(cf ce fil ou je me posais la même question ... ; )
https://www.excel-downloads.com/threads/vba-fonction-find.129790/

EDITION: finalement ainsi je me rapproche de Skoobi 😉
Temps obtenu : 0,203125
Code:
Sub CopiLignSk()
Dim PremLigFiltre As Long, DerLigFiltre As Long
t = Timer
Application.ScreenUpdating = False
With Sheets("SOURCE")
    .Range("B9").AutoFilter Field:=2, Criteria1:=">6"
    PremLigFiltre = .Range("_Filterdatabase").Offset(2).Row
    DerLigFiltre = .Range("_Filterdatabase")(.Range("_Filterdatabase").Count).Row
    .Range("A" & PremLigFiltre & ":AJ" & DerLigFiltre).Copy Sheets("RECAP").Range("A5")
    .AutoFilterMode = False
End With
Debug.Print Timer - t
Application.ScreenUpdating = True
End Sub
 
Dernière édition:
Re : macro qui est lente

Re à tous,

Une mise en forme sur les cellules ne prend pas plus de temps que cela... c'est instantané ou presque.

Par macro c'est beaucoup plus long.

Tu parles d'un nouveau tableau, où est-il ?

Bonne soirée.

Jean-Pierre

Edit : Vu arrivé en même temps que ma réponse.
 
Re : macro qui est lente

Re,

Pas bien suivi le fil, mais il semble que tu recopies, ligne à ligne, la feuille source vers la feuille Recap. et que tu en es encore au select(s) et que tu n'as pas tenu compte des diverses réponses que je viens de lire.

J'ai commencé à tester mais mon ordi.trop lent tousse et le ventilo me casse les oreilles, j'ai donc arrêté tout.

As-tu testé les différentes réponses ? je ne pense pas...
 
Re : macro qui est lente

bonsoir a tous,
j'ai tester le fichier,et meme pas le temps de m'apercevoir qu'une macro tourne derrière,a mon avis et je pense rejoindre l'avis de beaucoup d'autre cela vient de ta machine et non pas du code.
a suivre...
 
- 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

Réponses
19
Affichages
869
Réponses
7
Affichages
369
Retour