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

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

  • Initiateur de la discussion Initiateur de la discussion skye.in.sky
  • 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

skye.in.sky

Guest
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 modification par un modérateur:
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 ?
 
Re : [VBA] Possibilité d'accélérer copie de lignes?

Robert,

en fait j'ai trouvé.
Il fallait mettre :

Code:
ws.AutoFilterMode = False

Voilà 😀

Merci !
Jennifer
 
- 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
5
Affichages
542
Réponses
7
Affichages
792
Réponses
4
Affichages
686
Réponses
7
Affichages
953
Réponses
33
Affichages
3 K
Réponses
8
Affichages
1 K
A
Réponses
4
Affichages
826
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…