Probléme fermeture fichier Excel (Application on time)
Résolu
JHache1801_
Messages postés
19
Statut
Membre
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
Bonjour,
Je travaille actuellement sur un projet d'application avec Excel
Lorsque j'ai plusieurs fichiers excel ouvert, et que je souhaite fermer le principal, il se re-ouvert automatiquement derriere.
Après plusieurs recherches j'ai trouver ce bout de code :
On Error Resume Next
ThisWorkbook.Application.OnTime Depart_Diapo, Procedure:="MaMacro", Schedule:=False
que je place dans Workbook.BeforeClose
Cependant mon fichier continu de s'ouvrir tout seul
Sub InitOnTime()
Depart_Diapo = Now + TimeValue("00:00:15")
If NrbFichierDiff = True Then
Rafra?chir
End If
If Not StopIt Then
Application.OnTime Depart_Diapo, "MaMacro"
Else
On Error Resume Next
Application.OnTime Depart_Diapo, "MaMacro", Schedule:=False
End If
End Sub
ici j'ai ma "tempo" de 15 secondes, et j'aimerai savoir si il était possible d'attendre que le programme soit dans le "else" avant d'executer la fonction Workbook.beforeclose ?
J'espere avoir été clair dans mes explications.
Merci
Je travaille actuellement sur un projet d'application avec Excel
Lorsque j'ai plusieurs fichiers excel ouvert, et que je souhaite fermer le principal, il se re-ouvert automatiquement derriere.
Après plusieurs recherches j'ai trouver ce bout de code :
On Error Resume Next
ThisWorkbook.Application.OnTime Depart_Diapo, Procedure:="MaMacro", Schedule:=False
que je place dans Workbook.BeforeClose
Cependant mon fichier continu de s'ouvrir tout seul
Sub InitOnTime()
Depart_Diapo = Now + TimeValue("00:00:15")
If NrbFichierDiff = True Then
Rafra?chir
End If
If Not StopIt Then
Application.OnTime Depart_Diapo, "MaMacro"
Else
On Error Resume Next
Application.OnTime Depart_Diapo, "MaMacro", Schedule:=False
End If
End Sub
ici j'ai ma "tempo" de 15 secondes, et j'aimerai savoir si il était possible d'attendre que le programme soit dans le "else" avant d'executer la fonction Workbook.beforeclose ?
J'espere avoir été clair dans mes explications.
Merci
A voir également:
- Probléme fermeture fichier Excel (Application on time)
- Popcorn time - Télécharger - TV & Vidéo
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
Bonjour,
on est bien d'accord que tu l'as ajoutée dans le module ThisWorkbook ?
Et que "MaMacro" est le nom de la sub lancée avec le timer. Difficile d'y clair avec tes petits bouts de codes extraits...
eric
on est bien d'accord que tu l'as ajoutée dans le module ThisWorkbook ?
Et que "MaMacro" est le nom de la sub lancée avec le timer. Difficile d'y clair avec tes petits bouts de codes extraits...
eric
bonjour,
en fait, InitonTime permet de lancer la procédure "MaMacro" toutes les 15 secondes, dans cette procédure je fais défiler des images d'un dossier toutes les 15 secondes du coup.
Cepedant quand je ferme Excel même en mettant
On Error Resume Next
ThisWorkbook.Application.OnTime Depart_Diapo, Procedure:="MaMacro", Schedule:=False
lorsque j'ai 2 fichiers Excel ouvert, celui la se re-ouvre automatiquement.
J'ai l'impression que comme la procédure InitOnTime est "stoppé" pendant 15 secondes la fonction ci dessus ne fonctionne pas, c'est pourquoi je penses qu'il faudrait avant de fermer le fichier excel, faire en sorte d'attendre la fin des 15 secondes de la fonction application_ontime puis d'executer ThisWorkbook.Application.OnTime Depart_Diapo, Procedure:="MaMacro", Schedule:=False
et de fermer le fichier Excel .
Le problème c'est que je ne sais pas comment faire et je ne suis pas sur que cela puisse fonctionner comme ça
cordialement
en fait, InitonTime permet de lancer la procédure "MaMacro" toutes les 15 secondes, dans cette procédure je fais défiler des images d'un dossier toutes les 15 secondes du coup.
Cepedant quand je ferme Excel même en mettant
On Error Resume Next
ThisWorkbook.Application.OnTime Depart_Diapo, Procedure:="MaMacro", Schedule:=False
lorsque j'ai 2 fichiers Excel ouvert, celui la se re-ouvre automatiquement.
J'ai l'impression que comme la procédure InitOnTime est "stoppé" pendant 15 secondes la fonction ci dessus ne fonctionne pas, c'est pourquoi je penses qu'il faudrait avant de fermer le fichier excel, faire en sorte d'attendre la fin des 15 secondes de la fonction application_ontime puis d'executer ThisWorkbook.Application.OnTime Depart_Diapo, Procedure:="MaMacro", Schedule:=False
et de fermer le fichier Excel .
Le problème c'est que je ne sais pas comment faire et je ne suis pas sur que cela puisse fonctionner comme ça
cordialement
Bonjour,
Non, il n'y a pas à attendre quoi que ce soit pour désactiver un OnTime.
Et ta ligne de code semble correcte, d'où la question tu l'as ajoutée dans le module ThisWorkbook ? à laquelle tu n'as pas répondu.
Tout comme tu n'as pas répondu à : où, as-tu défini "Depart_Diapo" ? posée par danielc0. Défini là dans un module Standard.
eric
Non, il n'y a pas à attendre quoi que ce soit pour désactiver un OnTime.
Et ta ligne de code semble correcte, d'où la question tu l'as ajoutée dans le module ThisWorkbook ? à laquelle tu n'as pas répondu.
Tout comme tu n'as pas répondu à : où, as-tu défini "Depart_Diapo" ? posée par danielc0. Défini là dans un module Standard.
eric
oui excusez moi.
pour ce qui est de :
On Error Resume Next
ThisWorkbook.Application.OnTime Depart_Diapo, Procedure:="MaMacro", Schedule:=False
ce bout de code se trouve dans la partie ThisWorkbook et plus précisément dans la partie Workbook_BeforeClose
Et pour ce qui est de la variable " Depart_Diapo" elle n'est pas déclarée, vous pensez que le problème peut venir de la ? Si je la déclare en variable Public cela pourrait résoudre le problème ?
pour ce qui est de :
On Error Resume Next
ThisWorkbook.Application.OnTime Depart_Diapo, Procedure:="MaMacro", Schedule:=False
ce bout de code se trouve dans la partie ThisWorkbook et plus précisément dans la partie Workbook_BeforeClose
Et pour ce qui est de la variable " Depart_Diapo" elle n'est pas déclarée, vous pensez que le problème peut venir de la ? Si je la déclare en variable Public cela pourrait résoudre le problème ?
J'ai détaillé un peu plus en répondant à eriiiic
Cordialement.