OVH Cloud OVH Cloud

lenteur d'affichage sous Excel

10 réponses
Avatar
squeepy
Bonjour

Petit souci, j'ai un fichier excel avec plusieurs feuilles
Dans une des feuilles (la principale), j'ai des soucis de lenteur c'est à
dire que quand je descend avec la barre de défilement, ca va assez lentement
an niveau de l'affichage des chiffres.
Je pense que ça doit venir du fait que rien que dans cette feuille (j'ai
calculé), j'ai 14800 cellules avec une formule (qui font en général 2
lignes). Ce sont des formules qui font références à d'autres feuilles du
classeur. ET dans ces autres feuilles, il y a aussi, d'autres formules.
en tout (et j'ai calculé), j'ai plus de 51000 cellules avec une formule dedans
JE voulais donc savoir, si il y avait une solution pour que ça aille plus
vite ???
Notamment j'ai des formules avec des equiv(index ...), si je remplace ça par
des recherchev, les formules seront moins longues donc est ce que ça irait
plus vite?
Et sinon la seule solution trouvé, c'est la fermeture et la réouverture
d'excel car la ca va mieux
--
Merci de votre aide

10 réponses

Avatar
Michel Gaboly
Bonsoir,

Pour qu'on puisse t'aider, il faudrait en savoir plus.

Il est possible qu'on puisse simplifier un certain nb de formules, mais c 'est difficile à évaluer sans plus d'info.

Parfois on peut remplacer de multiples formules par un nom associé à   une formule; On peut également utiliser la gestion
d'événement pour passer en calcul manuel quand telle ou telle f euille est activée, et repasser en auto quand elle est
désactivée (ou quand le classeur qui la contient cesse d'ê tre le classeur actif, ...

A part cela le ralentissement n'est pas surprenant ; 51000 formules dont près de 15000 avec une formule à rallonge, cela
fait beaucoup, en tout plus que 95 % - au moins - des documents Excel.




Bonjour

Petit souci, j'ai un fichier excel avec plusieurs feuilles
Dans une des feuilles (la principale), j'ai des soucis de lenteur c'est à
dire que quand je descend avec la barre de défilement, ca va assez lentement
an niveau de l'affichage des chiffres.
Je pense que ça doit venir du fait que rien que dans cette feuille (j'ai
calculé), j'ai 14800 cellules avec une formule (qui font en gé néral 2
lignes). Ce sont des formules qui font références à d'au tres feuilles du
classeur. ET dans ces autres feuilles, il y a aussi, d'autres formules.
en tout (et j'ai calculé), j'ai plus de 51000 cellules avec une fo rmule dedans
JE voulais donc savoir, si il y avait une solution pour que ça ail le plus
vite ???
Notamment j'ai des formules avec des equiv(index ...), si je remplace à §a par
des recherchev, les formules seront moins longues donc est ce que ç a irait
plus vite?
Et sinon la seule solution trouvé, c'est la fermeture et la ré ouverture
d'excel car la ca va mieux



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
squeepy
Bonsoir Michel

Merci de t'intéresser à mon problème
comme type de formule (dans ma feuille de 14000) c'est du genre :
=SI($C5="";"";SI(ESTERREUR(EQUIV($C5;CODE;0));"";GAUCHE(INDEX(DONNEES;EQUIV($C5;CODE;0);4);NBCAR(INDEX(DONNEES;EQUIV($C5;CODE;0);4)))))

c'est beaucoup dans ce genre la, repeter sur des centaines de lignes
ton histoire de remplacer de multiples formules par un nom associé a ces
formules me plait assez, si tu pourrais développer ainsi que la gestion
d'événement, ...

Je ne sais pas trop ou donner de la tête, car on m'appelle souvent pour ce
problème et a part dire, fermer les fichiers excel et rouvrez les, je suis en
manque d'inspiration
--
Merci de votre aide



Bonsoir,

Pour qu'on puisse t'aider, il faudrait en savoir plus.

Il est possible qu'on puisse simplifier un certain nb de formules, mais c'est difficile à évaluer sans plus d'info.

Parfois on peut remplacer de multiples formules par un nom associé à une formule; On peut également utiliser la gestion
d'événement pour passer en calcul manuel quand telle ou telle feuille est activée, et repasser en auto quand elle est
désactivée (ou quand le classeur qui la contient cesse d'être le classeur actif, ...

A part cela le ralentissement n'est pas surprenant ; 51000 formules dont près de 15000 avec une formule à rallonge, cela
fait beaucoup, en tout plus que 95 % - au moins - des documents Excel.




Bonjour

Petit souci, j'ai un fichier excel avec plusieurs feuilles
Dans une des feuilles (la principale), j'ai des soucis de lenteur c'est à
dire que quand je descend avec la barre de défilement, ca va assez lentement
an niveau de l'affichage des chiffres.
Je pense que ça doit venir du fait que rien que dans cette feuille (j'ai
calculé), j'ai 14800 cellules avec une formule (qui font en général 2
lignes). Ce sont des formules qui font références à d'autres feuilles du
classeur. ET dans ces autres feuilles, il y a aussi, d'autres formules.
en tout (et j'ai calculé), j'ai plus de 51000 cellules avec une formule dedans
JE voulais donc savoir, si il y avait une solution pour que ça aille plus
vite ???
Notamment j'ai des formules avec des equiv(index ...), si je remplace ça par
des recherchev, les formules seront moins longues donc est ce que ça irait
plus vite?
Et sinon la seule solution trouvé, c'est la fermeture et la réouverture
d'excel car la ca va mieux



--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
Michel Gaboly
Re,

Voici un exemple simple :

Dans ta formule, il y a 3 fois "EQUIV($C5;CODE;0)".

Si tu remplaces ce bout de formule par un nom comme "Pos" (pour position) , il suffira peut-etre d'évaluer une fois ce
nom et non 3 fois le bout de formule correspondant pour trouver le ré sultat.

=SI($C5="";"";SI(ESTNA(Pos);"";GAUCHE(INDEX(Données;Pos;4);NBCAR (INDEX(Données;Pos;4)))))

Pas sûr que cela marche en terme de vitesse, mais ce sera au moins + lisible ; d'autre part les formules étant + courtes
la taille du document diminuera légèrement.

Attention à la définition du nom : il faut se placer dans une c ellule quelconque de la ligne 5 et le définir ainsi :
=EQUIV($C5;CODE;0)

Ou si on est en ligne 18, le définir ainsi : EQUIV($C18;CODE;0)

Ce qui important est d'avoir une référence mixte (colonne C tou jours, grâce au "$" et ligne de la cellule active.


Par ailleurs, on peut la simplifier : GAUCHE() accepte 2 arguments, le se cond correspondant au nombre de caractères à
prendre en compte.

Ici on prend la totalité des caractères ; la formule est du typ e GAUCHE(Toto, NBCAR(Toto))

GAUCHE() et NBCAR() sont donc superflus, et on aboutit à

=SI($C5="";"";SI(ESTNA(Pos);"";INDEX(Données;Pos;4)))


Voici un exemple, mais d'autres simplifications sont sûrement possib les


Bonsoir Michel

Merci de t'intéresser à mon problème
comme type de formule (dans ma feuille de 14000) c'est du genre :
=SI($C5="";"";SI(ESTERREUR(EQUIV($C5;CODE;0));"";GAUCHE(INDEX(DONNE ES;EQUIV($C5;CODE;0);4);NBCAR(INDEX(DONNEES;EQUIV($C5;CODE;0);4)))))

c'est beaucoup dans ce genre la, repeter sur des centaines de lignes
ton histoire de remplacer de multiples formules par un nom associé a ces
formules me plait assez, si tu pourrais développer ainsi que la ge stion
d'événement, ...

Je ne sais pas trop ou donner de la tête, car on m'appelle souvent pour ce
problème et a part dire, fermer les fichiers excel et rouvrez les, je suis en
manque d'inspiration



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
squeepy
merci Michel pour ces précisions. Par contre j'ai un peu de mal à comprendre
tout ce que tu m'as dit.
En fait le fichier ce n'est pas moi qui l'ai fait, mais ça sera à moi de le
modifier pour eviter justement les soucis de lenteur, et j'ai donc un peu de
mal avec les fonctions GAuche, concatener, ... . Je vais quand même regarder
a+
--
Merci de votre aide



Re,

Voici un exemple simple :

Dans ta formule, il y a 3 fois "EQUIV($C5;CODE;0)".

Si tu remplaces ce bout de formule par un nom comme "Pos" (pour position), il suffira peut-etre d'évaluer une fois ce
nom et non 3 fois le bout de formule correspondant pour trouver le résultat.

=SI($C5="";"";SI(ESTNA(Pos);"";GAUCHE(INDEX(Données;Pos;4);NBCAR(INDEX(Données;Pos;4)))))

Pas sûr que cela marche en terme de vitesse, mais ce sera au moins + lisible ; d'autre part les formules étant + courtes
la taille du document diminuera légèrement.

Attention à la définition du nom : il faut se placer dans une cellule quelconque de la ligne 5 et le définir ainsi :
=EQUIV($C5;CODE;0)

Ou si on est en ligne 18, le définir ainsi : EQUIV($C18;CODE;0)

Ce qui important est d'avoir une référence mixte (colonne C toujours, grâce au "$" et ligne de la cellule active.


Par ailleurs, on peut la simplifier : GAUCHE() accepte 2 arguments, le second correspondant au nombre de caractères à
prendre en compte.

Ici on prend la totalité des caractères ; la formule est du type GAUCHE(Toto, NBCAR(Toto))

GAUCHE() et NBCAR() sont donc superflus, et on aboutit à

=SI($C5="";"";SI(ESTNA(Pos);"";INDEX(Données;Pos;4)))


Voici un exemple, mais d'autres simplifications sont sûrement possibles


Bonsoir Michel

Merci de t'intéresser à mon problème
comme type de formule (dans ma feuille de 14000) c'est du genre :
=SI($C5="";"";SI(ESTERREUR(EQUIV($C5;CODE;0));"";GAUCHE(INDEX(DONNEES;EQUIV($C5;CODE;0);4);NBCAR(INDEX(DONNEES;EQUIV($C5;CODE;0);4)))))

c'est beaucoup dans ce genre la, repeter sur des centaines de lignes
ton histoire de remplacer de multiples formules par un nom associé a ces
formules me plait assez, si tu pourrais développer ainsi que la gestion
d'événement, ...

Je ne sais pas trop ou donner de la tête, car on m'appelle souvent pour ce
problème et a part dire, fermer les fichiers excel et rouvrez les, je suis en
manque d'inspiration



--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
Michel Gaboly
Rebonjour,

GAUCHE(Réf;n) renvoie les n premiers caractères de Réf, en commençant par la gauche.

Dans tes formules n était égal au nb de caractères de Rà ©f. GAUCHE() était donc superflu et Réf suffisait.

Pour aider une amie, je lui avais concocté un fichier Excel sur les fonctions Texte, avec des exemples allant du simple
au relativement complexe. Je peux te l'envoyer par mail si tu veux ou le poster avec CJoint.com


merci Michel pour ces précisions. Par contre j'ai un peu de mal à   comprendre
tout ce que tu m'as dit.
En fait le fichier ce n'est pas moi qui l'ai fait, mais ça sera à   moi de le
modifier pour eviter justement les soucis de lenteur, et j'ai donc un p eu de
mal avec les fonctions GAuche, concatener, ... . Je vais quand mêm e regarder
a+



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
squeepy
tu peux me l'envoyer par cjoint.com stp
je vais y jeter un oeil
--
Merci de votre aide



Rebonjour,

GAUCHE(Réf;n) renvoie les n premiers caractères de Réf, en commençant par la gauche.

Dans tes formules n était égal au nb de caractères de Réf. GAUCHE() était donc superflu et Réf suffisait.

Pour aider une amie, je lui avais concocté un fichier Excel sur les fonctions Texte, avec des exemples allant du simple
au relativement complexe. Je peux te l'envoyer par mail si tu veux ou le poster avec CJoint.com


merci Michel pour ces précisions. Par contre j'ai un peu de mal à comprendre
tout ce que tu m'as dit.
En fait le fichier ce n'est pas moi qui l'ai fait, mais ça sera à moi de le
modifier pour eviter justement les soucis de lenteur, et j'ai donc un peu de
mal avec les fonctions GAuche, concatener, ... . Je vais quand même regarder
a+



--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
Michel Gaboly
C'est fait :

http://cjoint.com/?mnlFLys7Pj

tu peux me l'envoyer par cjoint.com stp
je vais y jeter un oeil



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
squeepy
:(
ca marche pas comme je veux
ca fait des hierogliphes

--
Merci de votre aide



C'est fait :

http://cjoint.com/?mnlFLys7Pj

tu peux me l'envoyer par cjoint.com stp
je vais y jeter un oeil



--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
Michel Gaboly
Désolé, problème d'extension de fichier

Etant sur Mac, je n'avais pas rajouté .xls à la fin du nom ;-((
Réessaye ici :

http://cjoint.com/?mnpVykcAmx

:(
ca marche pas comme je veux
ca fait des hierogliphes




--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
squeepy
merci bcp
je vais m'y pencher
--
Merci de votre aide



Désolé, problème d'extension de fichier

Etant sur Mac, je n'avais pas rajouté .xls à la fin du nom ;-((
Réessaye ici :

http://cjoint.com/?mnpVykcAmx

:(
ca marche pas comme je veux
ca fait des hierogliphes




--
Cordialement,

Michel Gaboly
www.gaboly.com