désactiver macro à la fermeture

rirutol

XLDnaute Nouveau
Salut à tous,

Voila mon probleme, j'ai un fichier Excel qui fait des recalculs automatiques toutes les 5 secondes

- Dans ThisWorkbook:

Sub Workbook_Open()
Call RefreshData
End Sub

- Dans Module :

Sub RefreshData()
Application.OnTime Now + TimeValue("00:00:05"), "RefreshData"
Application.CalculateFull
End Sub

Simplement, comme la fonction RefreshData est rappelée pour le classeur, si j'ai plusieurs fichiers ouverts dans un même classeur, quand je ferme le fichier concerné, il se ré-ouvre au bout de 5 secondes

N'y a t-il pas moyen de désactiver la Sub à la fermeture du fichier ou encore de ne l'appliquer qu'à ce fichier??

Merci,

rirutol
 

bond

XLDnaute Occasionnel
Re : désactiver macro à la fermeture

Il faudrait utiliser :
Application.OnTime TimeValue(TimeAlert), "RefreshData", , False

ici TimeAlert est une variable où devrait être stocké ton dernier
Now + TimeValue("00:00:05")
 

bond

XLDnaute Occasionnel
Re : désactiver macro à la fermeture

Dans le Sub Workbook_BeforeClose
Ainsi à la fermeture du fichier, la commande en cours 'Application.OnTime' sera annulée par le False, et le fichier ne sera pas ré-ouvert pour l'exécuter.
 

Pierrot93

XLDnaute Barbatruc
Re : désactiver macro à la fermeture

Bonjour,

place peut être le code donné dans le module de la feuille en question, événement " Deactivate" de la feuille, enfin si j'ai bien compris...

Code:
Private Sub Worksheet_Deactivate()

End Sub
bonne journée
@+
 

rirutol

XLDnaute Nouveau
Re : désactiver macro à la fermeture

Bonjour,

Non ça ne marche pas ou alors je le fais mal, je ne sais pas
Ci-joint un fichier exemple

Essayez : vous ouvrez un autre fichier dans le même classeur et vous fermez mon fichier, il se ré-ouvrira au bout de 5 secondes
 

Pièces jointes

  • pb desactivation macro.xls
    24 KB · Affichages: 47
  • pb desactivation macro.xls
    24 KB · Affichages: 41
  • pb desactivation macro.xls
    24 KB · Affichages: 47

tototiti2008

XLDnaute Barbatruc
Re : désactiver macro à la fermeture

Bonjour rirutol, Bonjour bond, Bonjour Pierrot :),

Un essai
 

Pièces jointes

  • pb desactivation macro.xls
    25 KB · Affichages: 57
  • pb desactivation macro.xls
    25 KB · Affichages: 57
  • pb desactivation macro.xls
    25 KB · Affichages: 60

rirutol

XLDnaute Nouveau
Re : désactiver macro à la fermeture

Salut,

Je suis désolé mais j'ai encore un problème sur ce fichier
Le gros problème vient du fait qu'avec ce code, si j'ouvre le fichier "pb desactivation macro.xls" de toto, la macro se met bien en route etc..
Mais comme le classeur est maintenant ouvert, si j'ouvre un autre fichier dans ce meme classeur, il veut également faire ce calcul dans ce fichier (d'où une erreur s'il n'y a pas d'onglet "Feuil1")
N'y a t-il pas moyen de mettre la sub dans une feuille uniquement???
Ou alors de pouvoir également selectionner précisemment le fichier (et non pas le classeur) où sera appliqué la fonction?
 

bond

XLDnaute Occasionnel
Re : désactiver macro à la fermeture

comme le classeur est maintenant ouvert, si j'ouvre un autre fichier dans ce meme classeur
selectionner précisemment le fichier (et non pas le classeur)
J'avoue ne pas tout comprendre, quelle différence fais tu entre un fichier et un classeur ?
Ce qui est sur c'est que la macro de tototiti tourne sur Feuil1, c'est écrit en dur :
Code:
Application.Sheets("Feuil1").Calculate

Sans être sur d'avoir compris ton pb et ce que tu veux, remplace la ligne de code précédente par
Code:
ThisWorkbook.Sheets("Feuil1").Calculate
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 020
dernier inscrit
Mzghal