Bonjour à tous,
quelques questions et suggestions pour essayer de trouver la (les) cause(s) du ralentissement
Mon fichier est composé de plusieurs tableaux : 1 de 80 lignes et 6 colonnes, 1 de 26 lignes et 5 colonnes, 1 de 15 lignes et 8 colonnes et 2 d'une dizaines de lignes et 4 colonnes. Ces tableaux sont alimentés par des formulaires faits avec VBA
En plus de cela, j'ai une feuille de calcul avec une dizaine de TCD et une dizaine de formules matricielles.
Est-ce beaucoup ?
En creusant un peu, j'ai pu constater que c'est une feuille en particulier qui beug. Cette feuille contient pourtant qu'un tableau de 6 colonne ou la sixième colonne se remplit avec une formule. à ca jour, ce tableau comporte environ 80 lignes.
Les lenteurs sur la feuilles sont-elles à chaque ouverture de la feuille ou seulement à la 1ère ouverture (1ère activation) ?
1. Pour déterminer si les macros sont en cause ou non
Désactiver les macros avant l'ouverture du fichier.
Si l'affichage est redevenu normal,
les macros (mais peut-être pas seulement) sont en cause.
Il faut alors aller voir du côté des macros, en particulier sur l'activate de la feuille.
Pouvez-vous communiquer le code VBA ?
Sinon, la lenteur ne dépend pas des macros.
il faut aller voir du côté de la feuille
Votre feuille contient un tableau de 6 colonnes et rien d'autres ?
Les 5 premières colonnes sont des valeurs constantes (pas de formule) ? C'est ce que vous indiquez
Pouvez-vous communiquer les formules ?
2. Pour déterminer si les formules de la 6ème colonne sont en cause (c'est normalement le cas) :
Sélectionner toute la colonne -> Copier -> Collage Spécial (Valeurs)
Les formules sont alors remplacées par leur valeur.
Si la vitesse d'affichage est redevenu normal,
c'est que les formules sont bien en cause.
Sinon c'est peut-être à cause des liens de dépendance vers la feuille.
2.1. Pour vérifier si la lenteur met en cause des liens de dépendance de la feuille vers d'autres feuilles :
Annuler la transformation des formules en constantes.
Les formules de la 6ème colonne dépendent-elles de données d'autres feuilles ?
Sélectionner la 6ème colonne -> Formules -> Repérer les antécédents
Si aucune flèche, cela signifie qu'il n' a aucun lien de dépendance (par antécédent)
Si des flèches uniquement vers la feuille, cela signifie qu'il n' a que des liens de dépendance intra-feuille
Si une flèche dont la pointe pointe sur une grille (cela signifie qu'il y a une dépendance vers une autre feuille -> un clic sur la flèche donne l'adresse de la cellule ou plage dont dépend la formule)
Si aucun lien extérieur à la feuille, les formules de la 6ème colonne ne dépendent donc que de données de la feuille et
ce sont bien les formules et uniquement elles (sauf erreur de ma part) qui sont directement en cause.
Sinon, l
es liens de dépendance des autres feuilles vers la feuille sont en Cause (à voir comment vérifier individuellement ???)
2.2. La lenteur est-elle due à des liens de dépendance d'autres feuilles vers la feuille ?
Pour éliminer cette possibilité, à faire successivement pour chacune des 6 colonnes
- Sélectionner uniquement les valeurs de la colonne (pas l'en-tête sinon la recherche de dépendance inclura l'en-tête)
Formules -> Repérer les dépendants
Si aucune flèche, cela signifie qu'il n' a aucun lien de dépendance vers la colonne
Si uniquement une flèche (qui doit alors pointer sur la 6ème colonne (à cause de la formule), cela signifie qu'il n' a aucun lien de dépendance vers d'autres feuilles
Si une flèche dont la pointe pointe sur une grille (cela signifie qu'il y a une dépendance vers une autre feuille -> un clic sur la flèche donne l'adresse de la cellule ou plage dépendante)
S'il n'y a pas de liens de dépendance extra-feuille,
pas d'effet donc
Sinon,
ces liens peuvent être en cause mais pas forcément.
2.2.1 Pour vérifier si les liens de dépendance d'autres feuilles vers la feuille sont en cause
, il va falloir rompre ces liaisons en procédant comme on a déjà fait en 2. :
Pour chaque feuille dépendante dont on a détecté en 2.2 la dépendance vers la feuille :
Sélectionner toute la feuille -> Copier -> Collage Spécial (Valeurs)
Les formules sont alors remplacées par leur valeur.
Tester la vitesse d'affichage de la feuille.
Si la vitesse d'affichage est redevenu normal,
c'est que la feuille dépendante en cours (de part ses liens vers la feuille) est en cause.
Sinon et si on n'a pas détecté plus haut d'autres causes, je donne ma langue au chat !