Lorsque je ferme un fichier avec ou sans "save", j'ai une petite macro sub
autoclose() qui contrôle la validité de certaines données...dans le
document..
Si des données non valide se trouve sur le document, je voudrais interrompre
la fermeture du fichier.
j'essaie des choses du genre :
activedocument.close = cancel
ou
close = cancel
...
et bien sur ça ne fonctionne pas...
Quelqu'un a't'il une idée ?????
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Geo
Bonjour Bruno
Bonjour à tous,
Lorsque je ferme un fichier avec ou sans "save", j'ai une petite macro sub autoclose() qui contrôle la validité de certaines données...dans le document.. Si des données non valide se trouve sur le document, je voudrais interrompre la fermeture du fichier. j'essaie des choses du genre : activedocument.close = cancel ou close = cancel ... et bien sur ça ne fonctionne pas...
Quand tu dis interrompre la fermeture, tu veux que le fichier reste affiché ? On pourrait tenter de "surcharger" la commande de fermeture. Il faudrait faire une macro qui s'appelle FichierFermer (à vérifier) ou FileClose et là on peut interrompre la fermeture. Pas testé, mais il y a des commandes qu'on ne peut pas surcharger. voir http://faqword.free.fr/articles.php?lng=fr&pgr0 (où il y en plein d'autres bonnes choses aussi)
Chapitre : Comment remplacer l'action d'une commande Word existante par une macro?
--
A+
Bonjour Bruno
Bonjour à tous,
Lorsque je ferme un fichier avec ou sans "save", j'ai une petite
macro sub autoclose() qui contrôle la validité de certaines
données...dans le document..
Si des données non valide se trouve sur le document, je voudrais
interrompre la fermeture du fichier.
j'essaie des choses du genre :
activedocument.close = cancel
ou
close = cancel
...
et bien sur ça ne fonctionne pas...
Quand tu dis interrompre la fermeture, tu veux que le fichier reste affiché
?
On pourrait tenter de "surcharger" la commande de fermeture.
Il faudrait faire une macro qui s'appelle FichierFermer (à vérifier) ou
FileClose et là on peut interrompre la fermeture.
Pas testé, mais il y a des commandes qu'on ne peut pas surcharger.
voir http://faqword.free.fr/articles.php?lng=fr&pgr0
(où il y en plein d'autres bonnes choses aussi)
Chapitre : Comment remplacer l'action d'une commande Word existante par une
macro?
Lorsque je ferme un fichier avec ou sans "save", j'ai une petite macro sub autoclose() qui contrôle la validité de certaines données...dans le document.. Si des données non valide se trouve sur le document, je voudrais interrompre la fermeture du fichier. j'essaie des choses du genre : activedocument.close = cancel ou close = cancel ... et bien sur ça ne fonctionne pas...
Quand tu dis interrompre la fermeture, tu veux que le fichier reste affiché ? On pourrait tenter de "surcharger" la commande de fermeture. Il faudrait faire une macro qui s'appelle FichierFermer (à vérifier) ou FileClose et là on peut interrompre la fermeture. Pas testé, mais il y a des commandes qu'on ne peut pas surcharger. voir http://faqword.free.fr/articles.php?lng=fr&pgr0 (où il y en plein d'autres bonnes choses aussi)
Chapitre : Comment remplacer l'action d'une commande Word existante par une macro?
--
A+
Anacoluthe
Bonjour !
'Bruno' nous a écrit ...
Lorsque je ferme un fichier avec ou sans "save", j'ai une petite macro sub autoclose() qui contrôle la validité de certaines données...dans le document.. Si des données non valide se trouve sur le document, je voudrais interrompre la fermeture du fichier. j'essaie des choses du genre : activedocument.close = cancel
On ne peut pas annuler [Cancel] l'action déclenchant une macro automatique. Ceci n'est réalisable que dans un *événement* comme DocumentBeforeClose où on peut mettre à True le paramètre Cancel. Voyez l'Aide vba sur l'événement DocumentBeforeClose ...
Cependant dans le cas de AutoClose il faut rappeler que l'action Close comporte d'abord la question de sauvegarde d'un document modifié et qu'à cette occasion on peut encore annuler la fermeture du fichier en appuyant sur 'Annuler'
Si bien que si vous ne souhaitez pas utiliser DocumentBeforeClose il est possible d'annuler quand même Close dans AutoClose sous cette forme un peu bricolée :
Sub Autoclose() Dim R As Integer R = MsgBox("Vous êtes bien sûr de vouloir fermer ?", vbYesNo) If R = vbNo Then ActiveDocument.Saved = False ' oblige à demander Save SendKeys "{ESC}" ' pré-envoie Annuler End If End Sub
Anacoluthe « Et les yeux se perdant parmi les yeux aimés ; L'heure du thé fumant et des livres fermés » - Paul VERLAINE
Bonjour !
'Bruno' nous a écrit ...
Lorsque je ferme un fichier avec ou sans "save", j'ai une petite macro sub
autoclose() qui contrôle la validité de certaines données...dans le
document..
Si des données non valide se trouve sur le document, je voudrais interrompre
la fermeture du fichier.
j'essaie des choses du genre : activedocument.close = cancel
On ne peut pas annuler [Cancel] l'action déclenchant une macro
automatique. Ceci n'est réalisable que dans un *événement* comme
DocumentBeforeClose où on peut mettre à True le paramètre Cancel.
Voyez l'Aide vba sur l'événement DocumentBeforeClose ...
Cependant dans le cas de AutoClose il faut rappeler que
l'action Close comporte d'abord la question de sauvegarde d'un
document modifié et qu'à cette occasion on peut encore
annuler la fermeture du fichier en appuyant sur 'Annuler'
Si bien que si vous ne souhaitez pas utiliser DocumentBeforeClose
il est possible d'annuler quand même Close dans AutoClose
sous cette forme un peu bricolée :
Sub Autoclose()
Dim R As Integer
R = MsgBox("Vous êtes bien sûr de vouloir fermer ?", vbYesNo)
If R = vbNo Then
ActiveDocument.Saved = False ' oblige à demander Save
SendKeys "{ESC}" ' pré-envoie Annuler
End If
End Sub
Anacoluthe
« Et les yeux se perdant parmi les yeux aimés ;
L'heure du thé fumant et des livres fermés »
- Paul VERLAINE
Lorsque je ferme un fichier avec ou sans "save", j'ai une petite macro sub autoclose() qui contrôle la validité de certaines données...dans le document.. Si des données non valide se trouve sur le document, je voudrais interrompre la fermeture du fichier. j'essaie des choses du genre : activedocument.close = cancel
On ne peut pas annuler [Cancel] l'action déclenchant une macro automatique. Ceci n'est réalisable que dans un *événement* comme DocumentBeforeClose où on peut mettre à True le paramètre Cancel. Voyez l'Aide vba sur l'événement DocumentBeforeClose ...
Cependant dans le cas de AutoClose il faut rappeler que l'action Close comporte d'abord la question de sauvegarde d'un document modifié et qu'à cette occasion on peut encore annuler la fermeture du fichier en appuyant sur 'Annuler'
Si bien que si vous ne souhaitez pas utiliser DocumentBeforeClose il est possible d'annuler quand même Close dans AutoClose sous cette forme un peu bricolée :
Sub Autoclose() Dim R As Integer R = MsgBox("Vous êtes bien sûr de vouloir fermer ?", vbYesNo) If R = vbNo Then ActiveDocument.Saved = False ' oblige à demander Save SendKeys "{ESC}" ' pré-envoie Annuler End If End Sub
Anacoluthe « Et les yeux se perdant parmi les yeux aimés ; L'heure du thé fumant et des livres fermés » - Paul VERLAINE