XL 2019 Lenteur

Cheyenne_2021

XLDnaute Junior
Bonjour,


J’ai un « gros » fichier Excel :

11 onglets. En particulier 5 (les onglets numérotés) qui ont de très nombreuses formules et des macros. 400 lignes dans chaque onglet.

Dans les macros, en début j’ai enlevé les calculs de formules et je les ai remis à la fin.( Application.Calculation = xlCalculationManual Application.ScreenUpdating = False)

Mais sur chaque onglet, saisir une info, même qui ne dépend pas d’une formule, est très long et cela devient insupportable pour l’utilisatrice.

Que puis-je faire ?
Problème de fichier : comment puis-je joindre mon fichier, sachant que même zippé, il est trop lourd 2051 Ko ???
 

Etoto

XLDnaute Barbatruc
Hello,

Pour essayer de réduire la taille de ton fichier, voici un lien :


Et si ça se trouve dés que t'auras écouté la marche à suivre, le fichier serai peut-être déjà un peu plus rapide.

Cordialement.
 

Cheyenne_2021

XLDnaute Junior
ah oui ...
J'ai regardé le lien, j'ai pu le compresser mais il fait encore 1600 K. Je n'arrive pas à le reduire plus.
Dans le lien ils parlent du formatage des onglets et dans ce fichier les 4 onglets reprennent des données du 1er onglet avec des RechercheV, je ne sais pas si on peut parler de formatage ?
 

Etoto

XLDnaute Barbatruc
ah oui ...
J'ai regardé le lien, j'ai pu le compresser mais il fait encore 1600 K. Je n'arrive pas à le reduire plus.
Dans le lien ils parlent du formatage des onglets et dans ce fichier les 4 onglets reprennent des données du 1er onglet avec des RechercheV, je ne sais pas si on peut parler de formatage ?
Je sais pas, mais tu viens de souligner quelque chose d'important, si ton fichier est gros et long, pourquoi pas essayer de diviser le fichier, exemple :

1) Tu crées un fichier par onglet

2) Tu crées 2 fichiers, le premier contient l'onglet source des RECHERCHEV et le deuxième, les onglets restant. Parce que Excel peut faire des formules Interfichiers et tu peux toujours créer un requête Power Query qui prend le tableau du premier fichier pour faire tes RECHERCHEV, cela prendra moins de place.

Après, c'est juste une idée.
 

Cheyenne_2021

XLDnaute Junior
Cela me semble compliquer le travail de la personne qui utilise ce fichier. Quand elle modifie ce fichier, généralement, elle modifie plusieurs onglets .
Je ne connais pas Power Query.
Mais je vais y reflechir car de toute maniere, la saisie devient impossible. Des qu'elle saisit une cellule, elle doit attendre plusieurs secondes pour reprendre la main !
Il n'y aurait aucun moyen pour que je puise deposer mon fichier malgré sa taille ?
 

Etoto

XLDnaute Barbatruc
Il n'y aurait aucun moyen pour que je puise deposer mon fichier malgré sa taille ?
Oui, y'en a un mais il est déconseillé par la charte malheureusement, c'est de mettre le fichier sur un serveur externe, style OneDrive, Google Drive et de transférer le lien ou encore MEGA ou Grosfichiers.com mais le problème, c'est que certains sites font que le lien dure 30 jours, alors que la XLD demande à rendre cela permanent.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Les formules de recherche sur des colonnes entières, dans des gros fichier prennent beaucoup de ressources système. Essayez de réduire les plages de recherche, utilisez les tableaux structurés, réduisez les formats (couleurs, polices, styles, bordures etc...) voyez si vous n'avez pas de marco évènementielle superfétatoire ou qui tourne en boucle. ( Worksheet_Change entraînant un Worksheet_Change entraînant un Worksheet_Change etc....)

En j'en oublie certainement....

Cordialement
 

Etoto

XLDnaute Barbatruc
Bonjour,

Les formules de recherche sur des colonnes entières, dans des gros fichier prennent beaucoup de ressources système. Essayez de réduire les plages de recherche, utilisez les tableaux structurés, réduisez les formats (couleurs, polices, styles, bordures etc...) voyez si vous n'avez pas de marco évènementielle superfétatoire ou qui tourne en boucle. ( Worksheet_Change entraînant un Worksheet_Change entraînant un Worksheet_Change etc....)

En j'en oublie certainement....

Cordialement
D'ailleurs si tes RECHERCHEV sont tous des valeurs exactes, pour les accélérer et faire qu'elles fassent moins de poids, voici un lien intéressant :

 

Cheyenne_2021

XLDnaute Junior
J'ai des tableaux structures dans tous mes onglets.
au niveau des formats, dans 1 seule colonne de 2 onglets, le nom prend des couleurs différentes selon son statut.
Pas de macro Worksheet_Change
Macro "évènementielle superfétatoire" ... en clair, c'est quoi ?
 

Hasco

XLDnaute Barbatruc
Repose en paix
Macro "évènementielle superfétatoire" ... en clair, c'est quoi ?
Des macros (ou lignes de macro) multiples qui font le même travail, qui rajoutent des fonctions pas réellement utiles ; des macros qui reproduisent des fonctionnalités existantes dans votre version excel (par exemple imports de csv) ; des macros qu'on recopie d'un module de feuille à l'autre (je pense à vos
...et des macros. 400 lignes dans chaque onglet.
qui pourraient sans doute être réduite à une seule macro ?

Les userforms pas vraiment utiles non plus etc...

Cordialement
 
Dernière édition:

Cheyenne_2021

XLDnaute Junior
Suite à vos différentes pistes, j’ai fait des tests.

Sur le 1er onglet de saisie, en laissant le calcul automatique, si je modifie une cellule, il faut attendre plusieurs secondes pour reprendre la main. Si je passe en calcul manuel, c’est immédiat. C’est donc sans doute mes multiples RechercheV dans les autres onglets qui posent problème.

Je ne peux pas utiliser le RechercheV (avec un SI) car mes recherches sont sur un n° alors que tous les onglets sont triés par nom, les n° ne sont pas triés.

Question : Peut-on enlever ce calcul par macro par onglet ?

Idée :

  • A l’ouverture du fichier, enlever le calcul automatique de tous les onglets
  • A l’arrivée sur un onglet : Lancer le calcul et laisser le calcul automatique
  • A la sortie de chaque onglet : enlever le calcul automatique
Pensez-vous que ceci est faisable ?
 

Etoto

XLDnaute Barbatruc
  • A l’ouverture du fichier, enlever le calcul automatique de tous les onglets
  • A l’arrivée sur un onglet : Lancer le calcul et laisser le calcul automatique
  • A la sortie de chaque onglet : enlever le calcul automatique
Bonjour,

Tu veux faire que les onglets "passifs" soient en calculs manuels et les "actives" en calcul automatique ? Je sais que dans les paramètres d'Excel tu peux le faire, mais cela le fait sur tout le fichier. Peut-être qu'un VBA pourrait faire cela mais si c'est le cas, je n'ai pas le niveau pour. Au pire, crées un nouveau fil sur ce sujet précis.
 

Cheyenne_2021

XLDnaute Junior
Je vous explique comment j'ai fait :
  • Sur chaque onglet j'ai mis le calcul des formules en manuel
    • L'utilisatrice fait ses saisies et aucune formule ne se calcule
  • Sur chaque onglet je lui ai fait un bouton "Actualiser" avec comme macro :
    • déverrouillage des onglets
    • Application.ScreenUpdating = True
      Application.Calculation = xlCalculationAutomatic

      Application.Calculation = xlCalculationManual
      Application.ScreenUpdating = False
    • Revérouillage des onglets
  • Des que l'utilisatrice a terminé ses saisies sur un onglet, elle clique sur le bouton et toutes les formules se calculent

C'est maintenant beaucoup plus rapide !
 

Discussions similaires

Statistiques des forums

Discussions
312 076
Messages
2 085 084
Membres
102 772
dernier inscrit
bluetesteur