Problème lenteur macro

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 !

jjjerome

XLDnaute Occasionnel
Bonjour à tous,

J'ai un problème pour adapté le code que j'ai obtenu avec l'enregistreur.
Je veux copier le contenu d'une feuille et le coller dans un autre fichier.

Mon cade obtenu est :
PHP:
 Sheets("Recap").Select
    Cells.Select
    Selection.Copy
    Workbooks.Open Filename:= _
        "D:\mon repertoire\Lmon fichier.xlsm"
    Range("A1").Select
    ActiveSheet.Paste


Je veux maintenant l'adapter et renseigner le chemin qui est indiqué sur mon classeur actif.

J'ai donc adapté le code ci-dessous, mais la macro très très lente. Pouvez vous m'aider à la simplifier et réduire le temps ??


PHP:
Dim Chemin As String
Dim NomFichier As String
Dim NomFichierEtChemin As String
Dim NomFichierSource As String
Dim LaLigne As Integer


Application.ScreenUpdating = False
On Error Resume Next
NomFichierSource = ActiveWorkbook.Name


'LaLigne = ActiveCell.Row
Chemin = Sheets("Lexique").Range("F2")
NomFichierEtChemin = Chemin


Workbooks(NomFichierSource).Sheets("Recap").Select
    Cells.Select
    Selection.Copy
    Workbooks.Open Filename:=Chemin

'Workbooks.Open Filename:=NomFichierEtChemin
    Range("A1").Select
    ActiveSheet.Paste
 
Re : Problème lenteur macro

Bonjour
VB:
Dim Source As Range
Application.Calculation = xlCalculationManual
Set Source = ActiveWorkbook.Worksheets("Recap").Cells
Workbooks.Open Filename:=ActiveWorkbook.Worksheets("Lexique").Range("F2").Value
Source.Copy Destination:=ActiveSheet.Cells(1, 1)
Application.Calculation = xlCalculationAutomatic
À +
 
Re : Problème lenteur macro

Bonjour à tous
Bonjour Dranred et merci pour ta réponse,

Peux-tu me dire se qui ralentaissait la macro ? ...
Dranreb n'étant pas connecté:

il y a énormément de choses qui ralentissent une macro:
- les formules (sur la feuille)
- les Select ( dans les macros)
- ....................

ce qui est efficace pour accélérer une procédure:
Code:
Application.Calculation = xlCalculationManual
en début de code

et à la fin
Application.Calculation = xlCalculationAutomatic

à+
Philippe

Edit: un exemple en cliquant ci-dessous (voir réponse #9)
https://www.excel-downloads.com/threads/vba-application-screenupdating.191661/
 
Dernière édition:
Re : Problème lenteur macro

Bonsoir et merci phlaurent55,

J'ai un message d'erreur quand le chemin indiqué n'existe pas, est possible de regler ce problème (ou indiquer que le chemin est NOK...à?
J'ai l'impression que la macro tourne en boucle 1 ou 2 fois, même quand l'onglet a copier est orsque vide, avez vous une idée ??
 
Re : Problème lenteur macro

Bonsoir,
je cite Philippe :
ce qui est efficace pour accélérer une procédure:
Code:
Application.Calculation = xlCalculationManual
en début de code

et à la fin
Application.Calculation = xlCalculationAutomatic

en plus de la suppression de l'affichage.

Sauf que si je sors de la macro brutalement par ESC -Fin le calcul ne s'est pas fait et je perds les résultats.
Mais c'est vrai que ça booste la macro.

bonne soirée
 
Re : Problème lenteur macro

Bonsoir à tous

Puisqu'il semble s'agir de copier une feuille d'un classeur vers un autre classeur, j'emprunte cette voie

Code:
Sub Macro1()
Dim wbk
With ThisWorkbook
    Set wbk = Workbooks.Open(Filename:=.Worksheets("Lexique").Range("F2").Value)
    .Worksheets("Recap").Copy after:=wbk.Sheets(1)
End With
wbk.Close True
End Sub
 
Re : Problème lenteur macro

bonsoir le fil,
Je commentais le Application.Calculation = xlCalculationManual.
Dans mon code, le calcul matriciel ne se fait pas, sauf pour uniquement pour la dernière cellule quand la macro se termine.
Je n'arrive pas à comprendre cette commande?


A+
 
- 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

  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
246
Réponses
10
Affichages
547
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Réponses
7
Affichages
164
Réponses
3
Affichages
673
Réponses
1
Affichages
496
Retour