bonjour,
je reviens avec mon prob de lenteur d'excel avec mon énorme tableau de 2500
lignes avec des formules du type:
=SI(E2572="ph";SOMMEPROD(($D$5:$D$4954=D2572)*($E$5:$E$4954="PH")*($C$5:$C
$4954>=37622)*($C$5:$C$4954<=37986)*($I$5:$I$4954));SOMMEPROD(($D$5:$D$495
4=D2572)*($E$5:$E$4954="PA")*($C$5:$C$4954>=37622)*($C$5:$C$4954<=37986)*(
$I$5:$I$4954)))
y a-t'il 1 possibilité de le traduire en vba et est-ce que ça aurait 1
incidence sur la rapidité de calcul?
merci de me donner 1 réponse détaillée, sinon je vais vous la demander en
réponse et ça va vous énerver!
Merci pour votre aide
Pourrais-tu nous dire : - en quelle cellule est cette formule, - ce que contiennent globalement les différentes colonnes, - ce que tu fais du résultat obtenu pour cette formule ?
On peut effectivement la traduire directement en VBA mais ça n'aura pas grande influence sur le temps de calculs si les x sommeprod sont maintenus. Il faut tenter de passer outre. S'il n'y a rien de confidentiel, tu as mon adresse email (merci de ne pas la diffuser) pour y mettre une copie du fichier.
@+ FxM
Massonlafayette wrote:
bonjour, je reviens avec mon prob de lenteur d'excel avec mon énorme tableau de 2500 lignes avec des formules du type: =SI(E2572="ph";SOMMEPROD(($D$5:$D$4954Ò572)*($E$5:$E$4954="PH")*($C$5:$C $4954>7622)*($C$5:$C$4954<7986)*($I$5:$I$4954));SOMMEPROD(($D$5:$D$495 4Ò572)*($E$5:$E$4954="PA")*($C$5:$C$4954>7622)*($C$5:$C$4954<7986)*( $I$5:$I$4954))) y a-t'il 1 possibilité de le traduire en vba et est-ce que ça aurait 1 incidence sur la rapidité de calcul? merci de me donner 1 réponse détaillée, sinon je vais vous la demander en réponse et ça va vous énerver! Merci pour votre aide
Bonjour,
Pourrais-tu nous dire :
- en quelle cellule est cette formule,
- ce que contiennent globalement les différentes colonnes,
- ce que tu fais du résultat obtenu pour cette formule ?
On peut effectivement la traduire directement en VBA mais ça n'aura pas
grande influence sur le temps de calculs si les x sommeprod sont
maintenus. Il faut tenter de passer outre.
S'il n'y a rien de confidentiel, tu as mon adresse email (merci de ne
pas la diffuser) pour y mettre une copie du fichier.
@+
FxM
Massonlafayette wrote:
bonjour,
je reviens avec mon prob de lenteur d'excel avec mon énorme tableau de 2500
lignes avec des formules du type:
=SI(E2572="ph";SOMMEPROD(($D$5:$D$4954Ò572)*($E$5:$E$4954="PH")*($C$5:$C
$4954>7622)*($C$5:$C$4954<7986)*($I$5:$I$4954));SOMMEPROD(($D$5:$D$495
4Ò572)*($E$5:$E$4954="PA")*($C$5:$C$4954>7622)*($C$5:$C$4954<7986)*(
$I$5:$I$4954)))
y a-t'il 1 possibilité de le traduire en vba et est-ce que ça aurait 1
incidence sur la rapidité de calcul?
merci de me donner 1 réponse détaillée, sinon je vais vous la demander en
réponse et ça va vous énerver!
Merci pour votre aide
Pourrais-tu nous dire : - en quelle cellule est cette formule, - ce que contiennent globalement les différentes colonnes, - ce que tu fais du résultat obtenu pour cette formule ?
On peut effectivement la traduire directement en VBA mais ça n'aura pas grande influence sur le temps de calculs si les x sommeprod sont maintenus. Il faut tenter de passer outre. S'il n'y a rien de confidentiel, tu as mon adresse email (merci de ne pas la diffuser) pour y mettre une copie du fichier.
@+ FxM
Massonlafayette wrote:
bonjour, je reviens avec mon prob de lenteur d'excel avec mon énorme tableau de 2500 lignes avec des formules du type: =SI(E2572="ph";SOMMEPROD(($D$5:$D$4954Ò572)*($E$5:$E$4954="PH")*($C$5:$C $4954>7622)*($C$5:$C$4954<7986)*($I$5:$I$4954));SOMMEPROD(($D$5:$D$495 4Ò572)*($E$5:$E$4954="PA")*($C$5:$C$4954>7622)*($C$5:$C$4954<7986)*( $I$5:$I$4954))) y a-t'il 1 possibilité de le traduire en vba et est-ce que ça aurait 1 incidence sur la rapidité de calcul? merci de me donner 1 réponse détaillée, sinon je vais vous la demander en réponse et ça va vous énerver! Merci pour votre aide
Es-tu sur de ta formule? Pour ce que j'ai testé (avec excel 2003), $E$5:$E$4954="PH" ne donne un résultat que sur la cellule $E$4954. Quelque soit le contenu des autres cellules, c'est la dernière qui était prise en compte. bernard
Es-tu sur de ta formule?
Pour ce que j'ai testé (avec excel 2003),
$E$5:$E$4954="PH" ne donne un résultat que sur la cellule
$E$4954. Quelque soit le contenu des autres cellules,
c'est la dernière qui était prise en compte.
bernard
Es-tu sur de ta formule? Pour ce que j'ai testé (avec excel 2003), $E$5:$E$4954="PH" ne donne un résultat que sur la cellule $E$4954. Quelque soit le contenu des autres cellules, c'est la dernière qui était prise en compte. bernard
Philippe.R
Bonjour, Peut être pourrais tu essayer sans la fonction si, de cette manière :
"Massonlafayette" a écrit dans le message de news:
bonjour, je reviens avec mon prob de lenteur d'excel avec mon énorme tableau de 2500 lignes avec des formules du type: =SI(E2572="ph";SOMMEPROD(($D$5:$D$4954Ò572)*($E$5:$E$4954="PH")*($C$5:$C $4954>7622)*($C$5:$C$4954<7986)*($I$5:$I$4954));SOMMEPROD(($D$5:$D$495 4Ò572)*($E$5:$E$4954="PA")*($C$5:$C$4954>7622)*($C$5:$C$4954<7986)*( $I$5:$I$4954))) y a-t'il 1 possibilité de le traduire en vba et est-ce que ça aurait 1 incidence sur la rapidité de calcul? merci de me donner 1 réponse détaillée, sinon je vais vous la demander en réponse et ça va vous énerver! Merci pour votre aide
Bonjour,
Peut être pourrais tu essayer sans la fonction si, de cette manière :
"Massonlafayette" <massonlafayette@aol.com> a écrit dans le message de
news:20031108100644.21256.00000222@mb-m13.aol.com...
bonjour,
je reviens avec mon prob de lenteur d'excel avec mon énorme tableau de 2500
lignes avec des formules du type:
=SI(E2572="ph";SOMMEPROD(($D$5:$D$4954Ò572)*($E$5:$E$4954="PH")*($C$5:$C
$4954>7622)*($C$5:$C$4954<7986)*($I$5:$I$4954));SOMMEPROD(($D$5:$D$495
4Ò572)*($E$5:$E$4954="PA")*($C$5:$C$4954>7622)*($C$5:$C$4954<7986)*(
$I$5:$I$4954)))
y a-t'il 1 possibilité de le traduire en vba et est-ce que ça aurait 1
incidence sur la rapidité de calcul?
merci de me donner 1 réponse détaillée, sinon je vais vous la demander en
réponse et ça va vous énerver!
Merci pour votre aide
"Massonlafayette" a écrit dans le message de news:
bonjour, je reviens avec mon prob de lenteur d'excel avec mon énorme tableau de 2500 lignes avec des formules du type: =SI(E2572="ph";SOMMEPROD(($D$5:$D$4954Ò572)*($E$5:$E$4954="PH")*($C$5:$C $4954>7622)*($C$5:$C$4954<7986)*($I$5:$I$4954));SOMMEPROD(($D$5:$D$495 4Ò572)*($E$5:$E$4954="PA")*($C$5:$C$4954>7622)*($C$5:$C$4954<7986)*( $I$5:$I$4954))) y a-t'il 1 possibilité de le traduire en vba et est-ce que ça aurait 1 incidence sur la rapidité de calcul? merci de me donner 1 réponse détaillée, sinon je vais vous la demander en réponse et ça va vous énerver! Merci pour votre aide
Daniel.M
Bonjour,
AMA, les problèmes de lenteur au niveau des calculs se résolvent des manières suivantes:
1. Optimiser la formule 2. Reporter à des moments fixes les recalculs, soit: a. en continuant d'utiliser les formules mais passant en calcul manuel (au lieu d'automatique) b. en utilisant des tableaux croisés dynamiques au lieu des formules c. en utilisant des tables de décisions (what-if tables) au lieu de formules d. en utilisant du code VBA qui calcule les résultats lorsqu'on l'invoque et les recopie en dur sur la plage qui contenait les formules. 3. Restructurer les données
Avisez si vous désirez une des solutions 2b, 2c, 2d (solution 2a vous a déjà été donnée).
Pour la solution 1, votre formule pourrait être légèrement plus courte ainsi (c'est une formule matricielle, donc à saisir avec Ctrl-Maj-Entrée):
Dans ce cas-ci, je ne crois pas que ça va améliorer vraiment beaucoup les problèmes de performance. Je ne crois pas que c'est UNE seule formule qui cause ce problème mais bien le fait qu'elle est présente à chaque ligne. D'où l'idée d'avoir recours à des méthodes moins coûteuses d'aggrégations de résultats (2b et 2c), mais qui nécessitent, par ailleurs, d'être explicitement mises-à-jour pour afficher les bons résultats.
Salutations,
Daniel M.
"Massonlafayette" wrote in message news:
bonjour, je reviens avec mon prob de lenteur d'excel avec mon énorme tableau de 2500 lignes avec des formules du type: =SI(E2572="ph";SOMMEPROD(($D$5:$D$4954Ò572)*($E$5:$E$4954="PH")*($C$5:$C $4954>7622)*($C$5:$C$4954<7986)*($I$5:$I$4954));SOMMEPROD(($D$5:$D$495 4Ò572)*($E$5:$E$4954="PA")*($C$5:$C$4954>7622)*($C$5:$C$4954<7986)*( $I$5:$I$4954))) y a-t'il 1 possibilité de le traduire en vba et est-ce que ça aurait 1 incidence sur la rapidité de calcul? merci de me donner 1 réponse détaillée, sinon je vais vous la demander en réponse et ça va vous énerver! Merci pour votre aide
Bonjour,
AMA, les problèmes de lenteur au niveau des calculs se résolvent des manières
suivantes:
1. Optimiser la formule
2. Reporter à des moments fixes les recalculs, soit:
a. en continuant d'utiliser les formules mais passant en calcul manuel (au
lieu d'automatique)
b. en utilisant des tableaux croisés dynamiques au lieu des formules
c. en utilisant des tables de décisions (what-if tables) au lieu de formules
d. en utilisant du code VBA qui calcule les résultats lorsqu'on l'invoque et
les recopie en dur sur la plage qui contenait les formules.
3. Restructurer les données
Avisez si vous désirez une des solutions 2b, 2c, 2d (solution 2a vous a déjà été
donnée).
Pour la solution 1, votre formule pourrait être légèrement plus courte ainsi
(c'est une formule matricielle, donc à saisir avec Ctrl-Maj-Entrée):
Dans ce cas-ci, je ne crois pas que ça va améliorer vraiment beaucoup les
problèmes de performance.
Je ne crois pas que c'est UNE seule formule qui cause ce problème mais bien le
fait qu'elle est présente à chaque ligne. D'où l'idée d'avoir recours à des
méthodes moins coûteuses d'aggrégations de résultats (2b et 2c), mais qui
nécessitent, par ailleurs, d'être explicitement mises-à-jour pour afficher les
bons résultats.
Salutations,
Daniel M.
"Massonlafayette" <massonlafayette@aol.com> wrote in message
news:20031108100644.21256.00000222@mb-m13.aol.com...
bonjour,
je reviens avec mon prob de lenteur d'excel avec mon énorme tableau de 2500
lignes avec des formules du type:
=SI(E2572="ph";SOMMEPROD(($D$5:$D$4954Ò572)*($E$5:$E$4954="PH")*($C$5:$C
$4954>7622)*($C$5:$C$4954<7986)*($I$5:$I$4954));SOMMEPROD(($D$5:$D$495
4Ò572)*($E$5:$E$4954="PA")*($C$5:$C$4954>7622)*($C$5:$C$4954<7986)*(
$I$5:$I$4954)))
y a-t'il 1 possibilité de le traduire en vba et est-ce que ça aurait 1
incidence sur la rapidité de calcul?
merci de me donner 1 réponse détaillée, sinon je vais vous la demander en
réponse et ça va vous énerver!
Merci pour votre aide
AMA, les problèmes de lenteur au niveau des calculs se résolvent des manières suivantes:
1. Optimiser la formule 2. Reporter à des moments fixes les recalculs, soit: a. en continuant d'utiliser les formules mais passant en calcul manuel (au lieu d'automatique) b. en utilisant des tableaux croisés dynamiques au lieu des formules c. en utilisant des tables de décisions (what-if tables) au lieu de formules d. en utilisant du code VBA qui calcule les résultats lorsqu'on l'invoque et les recopie en dur sur la plage qui contenait les formules. 3. Restructurer les données
Avisez si vous désirez une des solutions 2b, 2c, 2d (solution 2a vous a déjà été donnée).
Pour la solution 1, votre formule pourrait être légèrement plus courte ainsi (c'est une formule matricielle, donc à saisir avec Ctrl-Maj-Entrée):
Dans ce cas-ci, je ne crois pas que ça va améliorer vraiment beaucoup les problèmes de performance. Je ne crois pas que c'est UNE seule formule qui cause ce problème mais bien le fait qu'elle est présente à chaque ligne. D'où l'idée d'avoir recours à des méthodes moins coûteuses d'aggrégations de résultats (2b et 2c), mais qui nécessitent, par ailleurs, d'être explicitement mises-à-jour pour afficher les bons résultats.
Salutations,
Daniel M.
"Massonlafayette" wrote in message news:
bonjour, je reviens avec mon prob de lenteur d'excel avec mon énorme tableau de 2500 lignes avec des formules du type: =SI(E2572="ph";SOMMEPROD(($D$5:$D$4954Ò572)*($E$5:$E$4954="PH")*($C$5:$C $4954>7622)*($C$5:$C$4954<7986)*($I$5:$I$4954));SOMMEPROD(($D$5:$D$495 4Ò572)*($E$5:$E$4954="PA")*($C$5:$C$4954>7622)*($C$5:$C$4954<7986)*( $I$5:$I$4954))) y a-t'il 1 possibilité de le traduire en vba et est-ce que ça aurait 1 incidence sur la rapidité de calcul? merci de me donner 1 réponse détaillée, sinon je vais vous la demander en réponse et ça va vous énerver! Merci pour votre aide