impossible de passer en calcul manuel dans une macro quand deux fichiers sont ouverts.

Le
Michel Angelosanto
Bonjour,

dans un classeur Excel, j'ai un combobox qui exécute une macro quand la
sélection change.
Pour gagner en rapidité, je passe en calcul manuel:

Private Sub ComboBox1_Change()
application.calculation=xlcalculationmanual

*******lignes de code***********

End Sub
Tout se passe bien dans ce classeur quand il tourne seul.

Maintenant, pour récupérer certaines valeurs dans un 2e classeur en fonction
du choix dans le combobox, à partir du 2e fichier, je modifie la sélection
dans le combobox ce qui génère
le déclanchement de la macro associée.
Le problème c'est que dans ce cas l'instruction
application.calculation=xlcalculationmanual devient inopérante et du coup
comme les calculs se font, l'exécution dure plusieurs heures au lieu de 5
secondes!
Le plus fort c'est que si je bascule en calcul manuel juste avant que la
macro se déclenche, la macro remet le calcul en automatique!

D'ou vient le fait que je ne puisse pas basculer en calcul manuel dans le
code vba (je suis obligé à chaque fois de faire ctrl_alt_pause pour cocher
calcul manuel dans les options)
Le problème c'est que j'ai des dizaines d'étapes qui font appel à cette
macro et donc à chaque fois que je vois que ca dure longtemps, je suis
obligé de recommencer la manip.
Le classeur est de ce fait inutilisable par une personne qui ne connait pas
le vba.

je suppose qu'il doit y avoir un conflit du fait que le code démarre dans un
fichier puis exécute une macro dans le 2e fichier?

--
Michel Angelosanto, Bordeaux
Dernières mises à jour du site Voyage au pays Internet
http://angelosa.free.fr/index.php?t=8
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #18945441
Bonjour.
Il doit y avoir une macro qui remets le mode calcul en automatique.
Fais une recherche sur toutes les macros.
Daniel

Bonjour,

dans un classeur Excel, j'ai un combobox qui exécute une macro quand la
sélection change.
Pour gagner en rapidité, je passe en calcul manuel:

Private Sub ComboBox1_Change()
application.calculation=xlcalculationmanual

*******lignes de code***********

End Sub
Tout se passe bien dans ce classeur quand il tourne seul.

Maintenant, pour récupérer certaines valeurs dans un 2e classeur en fonction
du choix dans le combobox, à partir du 2e fichier, je modifie la sélection
dans le combobox ce qui génère
le déclanchement de la macro associée.
Le problème c'est que dans ce cas l'instruction
application.calculation=xlcalculationmanual devient inopérante et du coup
comme les calculs se font, l'exécution dure plusieurs heures au lieu de 5
secondes!
Le plus fort c'est que si je bascule en calcul manuel juste avant que la
macro se déclenche, la macro remet le calcul en automatique!

D'ou vient le fait que je ne puisse pas basculer en calcul manuel dans le
code vba (je suis obligé à chaque fois de faire ctrl_alt_pause pour cocher
calcul manuel dans les options)
Le problème c'est que j'ai des dizaines d'étapes qui font appel à cette macro
et donc à chaque fois que je vois que ca dure longtemps, je suis obligé de
recommencer la manip.
Le classeur est de ce fait inutilisable par une personne qui ne connait pas
le vba.

je suppose qu'il doit y avoir un conflit du fait que le code démarre dans un
fichier puis exécute une macro dans le 2e fichier?


Daniel.C
Le #18945431
PS. Surtout sur les macros du second classeur.
Daniel

Bonjour,

dans un classeur Excel, j'ai un combobox qui exécute une macro quand la
sélection change.
Pour gagner en rapidité, je passe en calcul manuel:

Private Sub ComboBox1_Change()
application.calculation=xlcalculationmanual

*******lignes de code***********

End Sub
Tout se passe bien dans ce classeur quand il tourne seul.

Maintenant, pour récupérer certaines valeurs dans un 2e classeur en fonction
du choix dans le combobox, à partir du 2e fichier, je modifie la sélection
dans le combobox ce qui génère
le déclanchement de la macro associée.
Le problème c'est que dans ce cas l'instruction
application.calculation=xlcalculationmanual devient inopérante et du coup
comme les calculs se font, l'exécution dure plusieurs heures au lieu de 5
secondes!
Le plus fort c'est que si je bascule en calcul manuel juste avant que la
macro se déclenche, la macro remet le calcul en automatique!

D'ou vient le fait que je ne puisse pas basculer en calcul manuel dans le
code vba (je suis obligé à chaque fois de faire ctrl_alt_pause pour cocher
calcul manuel dans les options)
Le problème c'est que j'ai des dizaines d'étapes qui font appel à cette macro
et donc à chaque fois que je vois que ca dure longtemps, je suis obligé de
recommencer la manip.
Le classeur est de ce fait inutilisable par une personne qui ne connait pas
le vba.

je suppose qu'il doit y avoir un conflit du fait que le code démarre dans un
fichier puis exécute une macro dans le 2e fichier?


Michel Angelosanto
Le #18946091
Non j'exécute le code en pas à pas et a chaque exécution, je regarde si le
classeur est passé en calcul automatique ou manuel.
dès que la macro s'exécute, Excel passe en calcul automatique et pourtant le
code exécuté n'a rien a voir.

"Daniel.C" news:
PS. Surtout sur les macros du second classeur.
Daniel

Bonjour,

dans un classeur Excel, j'ai un combobox qui exécute une macro quand la
sélection change.
Pour gagner en rapidité, je passe en calcul manuel:

Private Sub ComboBox1_Change()
application.calculation=xlcalculationmanual

*******lignes de code***********

End Sub
Tout se passe bien dans ce classeur quand il tourne seul.

Maintenant, pour récupérer certaines valeurs dans un 2e classeur en
fonction du choix dans le combobox, à partir du 2e fichier, je modifie la
sélection dans le combobox ce qui génère
le déclanchement de la macro associée.
Le problème c'est que dans ce cas l'instruction
application.calculation=xlcalculationmanual devient inopérante et du coup
comme les calculs se font, l'exécution dure plusieurs heures au lieu de 5
secondes!
Le plus fort c'est que si je bascule en calcul manuel juste avant que la
macro se déclenche, la macro remet le calcul en automatique!

D'ou vient le fait que je ne puisse pas basculer en calcul manuel dans le
code vba (je suis obligé à chaque fois de faire ctrl_alt_pause pour
cocher calcul manuel dans les options)
Le problème c'est que j'ai des dizaines d'étapes qui font appel à cette
macro et donc à chaque fois que je vois que ca dure longtemps, je suis
obligé de recommencer la manip.
Le classeur est de ce fait inutilisable par une personne qui ne connait
pas le vba.

je suppose qu'il doit y avoir un conflit du fait que le code démarre dans
un fichier puis exécute une macro dans le 2e fichier?







--
Michel Angelosanto, Bordeaux
Dernières mises à jour du site Voyage au pays Internet
http://angelosa.free.fr/index.php?t=8
Michel Angelosanto
Le #18946151
dans la macro je mets une ligne application.calculation=xlcalculationmanual
je l'exécute (touche F8) je regarde dans les options et c'est toujours en
calcul automatique!

"Daniel.C" news:
PS. Surtout sur les macros du second classeur.
Daniel

Bonjour,

dans un classeur Excel, j'ai un combobox qui exécute une macro quand la
sélection change.
Pour gagner en rapidité, je passe en calcul manuel:

Private Sub ComboBox1_Change()
application.calculation=xlcalculationmanual

*******lignes de code***********

End Sub
Tout se passe bien dans ce classeur quand il tourne seul.

Maintenant, pour récupérer certaines valeurs dans un 2e classeur en
fonction du choix dans le combobox, à partir du 2e fichier, je modifie la
sélection dans le combobox ce qui génère
le déclanchement de la macro associée.
Le problème c'est que dans ce cas l'instruction
application.calculation=xlcalculationmanual devient inopérante et du coup
comme les calculs se font, l'exécution dure plusieurs heures au lieu de 5
secondes!
Le plus fort c'est que si je bascule en calcul manuel juste avant que la
macro se déclenche, la macro remet le calcul en automatique!

D'ou vient le fait que je ne puisse pas basculer en calcul manuel dans le
code vba (je suis obligé à chaque fois de faire ctrl_alt_pause pour
cocher calcul manuel dans les options)
Le problème c'est que j'ai des dizaines d'étapes qui font appel à cette
macro et donc à chaque fois que je vois que ca dure longtemps, je suis
obligé de recommencer la manip.
Le classeur est de ce fait inutilisable par une personne qui ne connait
pas le vba.

je suppose qu'il doit y avoir un conflit du fait que le code démarre dans
un fichier puis exécute une macro dans le 2e fichier?







--
Michel Angelosanto, Bordeaux
Dernières mises à jour du site Voyage au pays Internet
http://angelosa.free.fr/index.php?t=8
Daniel.C
Le #18946291
Ca ne doit pas être simple, mais est-ce que tu peux tester les macros
avec deux autres classeurs ?
Daniel

dans la macro je mets une ligne application.calculation=xlcalculationmanual
je l'exécute (touche F8) je regarde dans les options et c'est toujours en
calcul automatique!

"Daniel.C" news:
PS. Surtout sur les macros du second classeur.
Daniel

Bonjour,

dans un classeur Excel, j'ai un combobox qui exécute une macro quand la
sélection change.
Pour gagner en rapidité, je passe en calcul manuel:

Private Sub ComboBox1_Change()
application.calculation=xlcalculationmanual

*******lignes de code***********

End Sub
Tout se passe bien dans ce classeur quand il tourne seul.

Maintenant, pour récupérer certaines valeurs dans un 2e classeur en
fonction du choix dans le combobox, à partir du 2e fichier, je modifie la
sélection dans le combobox ce qui génère
le déclanchement de la macro associée.
Le problème c'est que dans ce cas l'instruction
application.calculation=xlcalculationmanual devient inopérante et du coup
comme les calculs se font, l'exécution dure plusieurs heures au lieu de 5
secondes!
Le plus fort c'est que si je bascule en calcul manuel juste avant que la
macro se déclenche, la macro remet le calcul en automatique!

D'ou vient le fait que je ne puisse pas basculer en calcul manuel dans le
code vba (je suis obligé à chaque fois de faire ctrl_alt_pause pour cocher
calcul manuel dans les options)
Le problème c'est que j'ai des dizaines d'étapes qui font appel à cette
macro et donc à chaque fois que je vois que ca dure longtemps, je suis
obligé de recommencer la manip.
Le classeur est de ce fait inutilisable par une personne qui ne connait
pas le vba.

je suppose qu'il doit y avoir un conflit du fait que le code démarre dans
un fichier puis exécute une macro dans le 2e fichier?






MichDenis
Le #18946411
| Private Sub ComboBox1_Change()

Cet événement cause plus souvent plus de difficultés
qu'elles n'en règlent !

As-tu pensé à utiliser ceci à la place ?

Private Sub ComboBox1_AfterUpdate()





"Michel Angelosanto" OXAP$
Bonjour,

dans un classeur Excel, j'ai un combobox qui exécute une macro quand la
sélection change.
Pour gagner en rapidité, je passe en calcul manuel:

Private Sub ComboBox1_Change()
application.calculation=xlcalculationmanual

*******lignes de code***********

End Sub
Tout se passe bien dans ce classeur quand il tourne seul.

Maintenant, pour récupérer certaines valeurs dans un 2e classeur en fonction
du choix dans le combobox, à partir du 2e fichier, je modifie la sélection
dans le combobox ce qui génère
le déclanchement de la macro associée.
Le problème c'est que dans ce cas l'instruction
application.calculation=xlcalculationmanual devient inopérante et du coup
comme les calculs se font, l'exécution dure plusieurs heures au lieu de 5
secondes!
Le plus fort c'est que si je bascule en calcul manuel juste avant que la
macro se déclenche, la macro remet le calcul en automatique!

D'ou vient le fait que je ne puisse pas basculer en calcul manuel dans le
code vba (je suis obligé à chaque fois de faire ctrl_alt_pause pour cocher
calcul manuel dans les options)
Le problème c'est que j'ai des dizaines d'étapes qui font appel à cette
macro et donc à chaque fois que je vois que ca dure longtemps, je suis
obligé de recommencer la manip.
Le classeur est de ce fait inutilisable par une personne qui ne connait pas
le vba.

je suppose qu'il doit y avoir un conflit du fait que le code démarre dans un
fichier puis exécute une macro dans le 2e fichier?

--
Michel Angelosanto, Bordeaux
Dernières mises à jour du site Voyage au pays Internet
http://angelosa.free.fr/index.php?t=8
Michel Angelosanto
Le #18947351
je pense que l'anomalie provenait du fait que je changeais la valeur cible
du combobox au lieu de faire combobox1.ListIndex = valeur
chez moi avec Excel 2007 ça marche.
Je verrai lundi au bureau avec excel97.

"MichDenis" news:
| Private Sub ComboBox1_Change()

Cet événement cause plus souvent plus de difficultés
qu'elles n'en règlent !

As-tu pensé à utiliser ceci à la place ?

Private Sub ComboBox1_AfterUpdate()





"Michel Angelosanto" de discussion :
OXAP$
Bonjour,

dans un classeur Excel, j'ai un combobox qui exécute une macro quand la
sélection change.
Pour gagner en rapidité, je passe en calcul manuel:

Private Sub ComboBox1_Change()
application.calculation=xlcalculationmanual

*******lignes de code***********

End Sub
Tout se passe bien dans ce classeur quand il tourne seul.

Maintenant, pour récupérer certaines valeurs dans un 2e classeur en
fonction
du choix dans le combobox, à partir du 2e fichier, je modifie la sélection
dans le combobox ce qui génère
le déclanchement de la macro associée.
Le problème c'est que dans ce cas l'instruction
application.calculation=xlcalculationmanual devient inopérante et du coup
comme les calculs se font, l'exécution dure plusieurs heures au lieu de 5
secondes!
Le plus fort c'est que si je bascule en calcul manuel juste avant que la
macro se déclenche, la macro remet le calcul en automatique!

D'ou vient le fait que je ne puisse pas basculer en calcul manuel dans le
code vba (je suis obligé à chaque fois de faire ctrl_alt_pause pour cocher
calcul manuel dans les options)
Le problème c'est que j'ai des dizaines d'étapes qui font appel à cette
macro et donc à chaque fois que je vois que ca dure longtemps, je suis
obligé de recommencer la manip.
Le classeur est de ce fait inutilisable par une personne qui ne connait
pas
le vba.

je suppose qu'il doit y avoir un conflit du fait que le code démarre dans
un
fichier puis exécute une macro dans le 2e fichier?

--
Michel Angelosanto, Bordeaux
Dernières mises à jour du site Voyage au pays Internet
http://angelosa.free.fr/index.php?t=8





--
Michel Angelosanto, Bordeaux
Dernières mises à jour du site Voyage au pays Internet
http://angelosa.free.fr/index.php?t=8
Publicité
Poster une réponse
Anonyme