Retardement le lancement d une macro

mimy

XLDnaute Occasionnel
Bonjour,

Je suis en train de réaliser un fichier excel qui récupère des cours d indices via un site internet.
Grâce à l aide de personnes de ce site, j ai pu réaliser à bien ce fichier mais je voudrais l optimiser.
Le problème c est que la "connexion" entre le site est mon fichier est lente et les valeurs mettent quelques secondes à s afficher. D où le message Debug dès l ouverture de mon fichier.
Je voudrais savoir si dès l ouverture de mon fichier on peut mettre un timer (je suppose dans workbook_open) et qui prend en compte ma macro qui est dans ma Feuil1 qui s appelle Private sub Worksheet_Calculate().
J ai ecrit dans ThisWorkbook:

private sub WorkBook_open()
Application.Ontime Now+TimeValue("00:00:10"), "Worksheet_Calculate"
v=Sheets("Feuil1").range("B7").value ' j actualise mes valeurs de cours d indices
end sub

mais ça ne marche pas.

Dans d autres sites il y a des exemples où la macro se trouve dans un module et ça marche contrairement à ma macro dans ma Feuil1

Merci beaucoup
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Retardement le lancement d une macro

Re,

la macro "calcula" est une procédure événementielle, pour mettre le calcul sur ordre, à placer dans le module "thisworkbook", événement "open" :
Code:
Application.Calculation = xlCalculationManual

pour rétablir la calcul auto, à associer à ton bouton :
Code:
Application.Calculation = xlCalculationAutomatic
 

mimy

XLDnaute Occasionnel
Re : Retardement le lancement d une macro

Donc si je comprends bien, il faut que
- je dessine un rectangle qui sera mon bouton
- je laisse le code worksheet_calculate dans la feuil1
- puis j ecris ça dans this workbook:
Option Explicit
Private Sub Workbook_Open()
Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomatic
v=Sheets("Feuil1").Range("B7").value
End Sub

- et dans mon module standart:
Option Explicit
Public v As Double

peut être que je dis des betises...
 

Pierrot93

XLDnaute Barbatruc
Re : Retardement le lancement d une macro

Re,

non, dans l'événement "open"
Code:
Option Explicit
Private Sub Workbook_Open()
Application.Calculation = xlCalculationManual
End Sub

et dans un modle standard, une macro associé à ton bouton :
Code:
Option Explicit
Public v As Double
Sub Test
v=Sheets("Feuil1").Range("B7").value
Application.Calculation = xlCalculationAutomatic
End Sub

+ le code dans le module de la feuille....
 

Discussions similaires

Statistiques des forums

Discussions
315 261
Messages
2 117 857
Membres
113 354
dernier inscrit
caillet