Optimiser du calcul sur l'ouverture d'un fichier volumineux

Bonjour à toutes et à tous,

J'ai un fichier qui regroupe énormément de formule et de données, il est donc assez volumineux environ 5000 KO.

Comment je pourrai ouvrir ce fichier de manière plus léger ?

Je l'ouvre déjà en lecture seule pour éviter le Open_Workbook... qu'est-ce que je peux faire d'autres ?

Car l'ouverture du fichier se fait sentir, il a beaucoup de feuilles différentes.

Ci-dessous la macro qui l'ouvre et effectue un tri puis une copy Etc..

D'avance merci à toutes et à tous.

Dim my_wb As Workbook

    Dim file_path As String

    file_path = chemin + fichier    
    Set my_wb = Workbooks.Open(Filename:=file_path, ReadOnly:=True)

    Sheets("Chantier").Select
    ActiveSheet.Unprotect

    'code qui fefiltre

 On Error Resume Next
     ActiveSheet.ShowAllData
  On Error GoTo 0

'Filtre le type de commande

    ActiveSheet.Range("$A$1:$J$5700").AutoFilter Field:=9, Criteria1:=Array(confidentielle)        

 ActiveSheet.Range("$H$1:$JH$5700").AutoFilter Field:=8, Criteria1:="<>" & "facturé & archivé"

  Firstentry = ActiveSheet.AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).Row

   Set last_use_row = Range("F100000").End(xlUp)

 Range("F" & Firstentry & ":F" & last_use_row.Row).Select

 Selection.Copy

'coller dans un nouveau classeur Ouvert

Dim new_classeur As Workbook

Set new_classeur = Workbooks.Add

Set new_classeur = ActiveWorkbook

ActiveWorkbook.Sheets(1).Range("A1").PasteSpecial

'Revenir dans le fichier saisi et fermer sans enregister

  'ferme le fichier 

    my_wb.Close SaveChanges:=False

Bonjour,

A votre place, j'exporterais l'onglet Sheets("Chantier") directement dans un nouveau fichier, et c'est qu'après que j'éliminerais les données pour ne pas avoir à recalculer les formules se trouvant dans les autres onglets.

Pour empêcher le rafraichissement de l'écran, vous pourriez également encadrer votre code par des :

 Application.ScreenUpdating = False
 '.....
 Application.ScreenUpdating = True

Vos formules dans cet onglet, sont-elles dépendantes d'une mise à jour d'une date ou autre qui empêcherait la neutralisation du calcul ?

Sinon :

   With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
   End With

   '..... Suite du code

   With Application
        .ScreenUpdating = True
        .Calculation = xlCalculationAutomatic
   End With

Bonjour Eric,

Votre solution a bien ralentie le code !

Je vous remercie et m'excuse pour cette réponse tardive.

Rechercher des sujets similaires à "optimiser calcul ouverture fichier volumineux"