[VBA] [RÉSOLU] Possibilité d'accélérer copie de lignes?

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 !

skye.in.sky

XLDnaute Nouveau
Bonjour tout le monde!
Suite à mon sujet résolu (cf. https://www.excel-downloads.com/threads/resolu-code-ne-fonctionne-pas-avec-fichier-partage.209238/)

J'essaye d’accélérer mon code de copie de lignes non vide de plusieurs feuilles et de les copier dans la feuille "Consolidation"

Code:
     t = Timer()
   For Each ws In Worksheets
      If ws.Name <> "Consolidation" And ws.Name <> "Graphs" Or ws.Name <> "listes" And _
      ws.Name <> "DroitsUsers" And ws.Name <> "Vierge" Then
         For i = 3 To ws.Range("A65000").End(xlUp).Row
             If ws.Cells(i, 13) <> "" Then ws.Rows(i).Copy Destination:=Sheets("Consolidation").Range("A65000").End(xlUp).Offset(1, 0)
         Next i
      End If
   Next ws
  
      MsgBox Timer() - t

Mon timer affiche au dessus de 65sec. Serait ce à cause des feuilles exceptions qu'Excel rallonge ?
Je mettais près d'1 sec avec 6/7 feuilles j'en ai aujourd'hui 13.

Si quelqu'un à une idée, je suis prenante.

Merci d'avance,
Jennifer
 
Dernière édition:
Re : [VBA] Possibilité d'accélérer copie de lignes?

Re, bonsoir Robert🙂

Sous 2010, peut même pas accéder au projet vba de ton fichier.... est vérouillé.... ton bouton consolider me plante excel.... pas top non plus les fichiers protégés par mot de passe sur le forum....
Il y a d'abord le verrou par macro : elle a donné le mot de passe.
Ensuite, pour accéder aux macros, il faut retirer le partage du fichier (Révision>Partager le classeur>décocher)
Après ça, moi j'ai pas de problème pour ouvrir
Ensuite, le bouton consolidation, c'est juste lent ...
 
Re : [VBA] Possibilité d'accélérer copie de lignes?

C'est donc bien le Application.Calculation = xlCalculationManual qui change tout ?
Soit dit en passant, peut-être remplacer
Code:
  Worksheets("Consolidation").Range("A4:A65000").SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete
par
Code:
on error resume next
  Worksheets("Consolidation").Range("A4:A65000").SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete
on error goto 0
Pour éviter que ça plante quand consolidation est vide.

Suis-je le seul chez qui le bouton show everything n'est pas lié à la macro go ?
 
- 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

Réponses
5
Affichages
477
Réponses
7
Affichages
702
Réponses
4
Affichages
645
Réponses
7
Affichages
880
Réponses
33
Affichages
3 K
Réponses
8
Affichages
1 K
Retour