Fichier lourd (90mb) et lent à l'exécution

Bonjour,

Veuillez trouver ci-joint le lien du fichier en question, j'ai effectué des suppressions de données pas utile sur internet 8) mais cela n'empêche pas de comprendre le fonctionnement.

Comment il fonctionne ?

Dans un dossier j'ai mon fichier maître et deux fichiers excel (deux tableaux).

Avec ma macro je vais chercher les deux tableaux pour les coller chacun dans une feuille respective du fichier maître.

Ensuite, j'applique des formules sur le/les dernières colonnes de chacun de ces deux tableaux pour réaliser un premier "tri" des données. (formules appliquées via macro.

Puis toutes les valeurs qui découlent de ces formules sont mise en forme dans une autre feuille ("Par techniciens") sous forme de grand tableau. Mise en forme sans macro.

Les feuilles restantes concernent simplement les graphiques dynamiques liés à ce tableau.

Le démarrage du fichier excel maître met plus de 5 min à démarrer, la mise à jour du fichier donc l'exécution de la macro met autour des 50 secondes.

Comment puis-je résoudre ce problème ? Le fichier contient assez peu de données je ne comprends pourquoi le tout est si long !

Merci d'avance !

Bonjour,

En premier lieu, regarde déjà si tu n'as pas créé un (ou des) TABLEAU qui comporte des lignes vides (cela réduira sa taille)

bonjour,

Chez moi le fichier joint ne semble pas exploitable en l'état.

Tu pourrais déjà commencer par essayer d'appliquer cette macro :

Sub Degraisseur()   ' Laurent Longre 2000
Dim Sht As Worksheet, DCell As Range, Calc As Long, Rien As String
On Error Resume Next
Calc = Application.Calculation
With Application
  .Calculation = xlCalculationManual
  .StatusBar = "Nettoyage en cours..."
  .EnableCancelKey = xlErrorHandler
  .ScreenUpdating = False
End With
For Each Sht In Worksheets
   If Sht.UsedRange.Address <> "$A$1" Or Not IsEmpty(Sht.[A1]) Then
   Set DCell = Sht.Cells.Find("*", , , , xlByRows, xlPrevious)(2)
      If Not DCell Is Nothing Then
         Sht.Range(DCell, Sht.Cells([A:A].Count, 1)).EntireRow.Clear
         Set DCell = Nothing
         Set DCell = Sht.Cells.Find("*", , , , xlByColumns, xlPrevious)(, 2)
         If Not DCell Is Nothing Then Sht.Range(DCell, Sht.[IV1]).EntireColumn.Clear
      End If
      Rien = Sht.UsedRange.Address
   End If
Next Sht
Application.StatusBar = False
Application.Calculation = Calc
End Sub

[NOTA] Si le fichier comporte plus de 250 colonnes remplacer [IV1] (ligne 18) par ta dernière colonne.

A+

Merci des retours,

- Pas de tableaux qui comportent des lignes vides

- La macro est bien insérée mais aucun changement n'est relevé...

Je vous transmet les trois fichiers par MP c'est possible ?

C'est pas tout de l'insérer il faut aussi l'exécuter !

Ça ne passera pas mieux par mail bien au contraire.

Après avoir exécuté la macro, mets les fichiers obtenus sur "Mon partage" sans les zipper.

Ensuite tu m'envoies les liens par mail.

A+

Rechercher des sujets similaires à "fichier lourd 90mb lent execution"