DETECTER LA FERMETURE D'UN FICHIER

ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015 - 11 mai 2007 à 09:53
 mortalino - 11 mai 2007 à 12:18
Salut

Je programme sous vba et je voudrai quand j'appui sur la croix rouge en haut à droite d'un document word ou excel qu'une MSG box apparaisse. Merci

42 réponses

ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 mai 2007 à 09:55
J'ai ceci testé le et dite moi si ça marche pour vous:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   
Dim msg As VbMsgBoxResult
msg = MsgBox("Do you really want to save the workbook?", vbYesNo)
    If msg = vbYes Then
        MsgBox "Enregistrement dans la base de données"
    Else
        Cancel = True
    End If
   
End Sub
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
11 mai 2007 à 09:57
Salut,
Pour word sert toi de l'événement Close de l'objet Document (code place dans thisdocument)
Private Sub Document_Close()
   MsgBox (" Ca va fermer")
End Sub , ----
[code.aspx?ID= 41455 By Renfield]
Pour Excel sert toi de l'événénement BeforeClose de l'objet Workbook (code place dans thisworkbook)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Call MsgBox("Ca va fermer")
   'Tu peux si tu veux annuler la fermeture en mettant Cancel = True
   
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
11 mai 2007 à 09:57
Salut,

C'est dans l'evènement de ta form :

Private Sub Form_Unload(Cancel As Integer)
MsgBox "toto"


End Sub


A+
Exploreur


 
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
11 mai 2007 à 10:00
Bah tu dois bien voir si ca marche chez toi.????

seulement la tu ne va rentrer dans cet événement que si tu sauve le classeur, et toi tu parlais dans ton premier post de fermeture pas de sauvegarde. alors que souhaites tu faire exactement???

@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
11 mai 2007 à 10:00
Punaise..pas bien vu qu'il est en VBA...

A+
Exploreur

 
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 mai 2007 à 10:01
Ces lignes marche pour tout les documents word et excel? Car en faite j'ouvre à partir de mon programme des documents excel et word se trrouvant sur C: et quand je quitte l'un de ces fichiers je voudrais qu'une MSGBOX s'affiche, ca ira?
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 mai 2007 à 10:03
Mon but et d'incrémenter un compteur à chaque fois qu'un documents word ou excel est enregistré
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
11 mai 2007 à 10:05
Salut,

Et les réponses qui te sont faites ici

A+
Exploreur

 
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
11 mai 2007 à 10:06
Tu aurais du le mettre sur l'autre post car seul ceux qui y ont participer comprenne pour tu fais ca.

Mais, tu veux voir les modifications  à la fermeture ou a chaque enregistrement. Et en effet, pour le msgbox sur fermeture, ce n'est pas le bon évenement que tu utilise, fais attention de ne pas te manlanger les pinceaux en allant trop vite.

BeforeClose serait en effet le plus approprié.
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 mai 2007 à 10:08
A l'enregistrement serait plus judicieux car imaginons que qqun quitte le comteur s'incrémente mais il ne sauvegarde pas
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 mai 2007 à 10:13
JRIVET je vois bien le thisworkbook mais le thisdocument se trouve ou?
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
11 mai 2007 à 10:14
Tu me rend fou la, je sais plus ce que tu veux rellement la.

"Je programme sous vba et je voudrai quand j'appui sur la croix rouge en haut à droite d'un document word ou excel qu'une MSG box apparaisse. Merci "

"A l'enregistrement serait plus judicieux car imaginons que qqun quitte le comteur s'incrémente mais il ne sauvegarde pas"

A quoi sert donc le msgbox a la fermeture ? C'est un msgbox différent ?
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
11 mai 2007 à 10:16
thisworkbook  -> Excel

mais le thisdocument  -> Word
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 mai 2007 à 10:16
restons sur ça nicko11 :
Je programme sous vba et je voudrai quand j'appui sur la croix rouge en haut à droite d'un document word ou excel qu'une MSG box apparaisse. Merci "
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 mai 2007 à 10:17
Je pense qu'il n'ont pas saisi mon problème
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
11 mai 2007 à 10:19
Tu vas dans word puis dans l'editeur Visual basic.

Sous les menus, tu as un bouton, explorateur de projet, tu developpes les dossiers et tu devrais trouver thisdocument, de la tu crée un module dans lequel tu copie le code de Jrivet
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
11 mai 2007 à 10:19
Afin d'éviter de repartir dans une discution qui dure 11 pages pour un problème qui n'en est as forcément un,  ( 10 rappelez vous)
Je pense que tu devrais mieux expliquer. (d'ailleurs pourquoi avoir reposter la question... INUTILE )

Tu parle de fermeture puis de sauvegarde.... de compteur....
Alors une bonne fois pour toute donne nous TOUT ce que l'on doit savoir

je te rappelle que NOUS aussi nous avons d'aute chose à faire à coté.
Tant que tu ne sauras pas décrire clairement ce que tu souhaites, on continuera à avoir des discutions longues (inutile)

Et puis cela "

Je pense qu'il n'ont pas saisi mon problème" t'es gentil t'évite. si on ne comprends pas c'est tout de même en grande partie car TU
ne sais pas dire ce que tu veux
@+: =89254 Ju£i?n
Pensez: Réponse acceptée
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 mai 2007 à 10:26
Je réexplique :
J'ai effectué un programme sous VBA, depuis ce programme j'ouvre des fichiers word et excel qui se trouve sur le C:. A long terme ces fichiers subiront des modifications.
Voici les étapes ca sera plus clair:

1: Une personne ouvre un document word ou excel depuis mon programme VBA.
2: Cette personne fait des modifications sur le document ouvert.
3: Cette personne enregistre les modifications apportées
4: Mon compteur present dans mon programme s'incrémente de 1 lorsqu'on enregistre.
5: La personne ferme le document

Voila ce que je veux exactement!

C'est possible?
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
11 mai 2007 à 10:30
C'est vrai ticrain, tu n'es pas facile a suivre. Jrivet a raison car on perd du temps a explorer VBfrance pour te suivre.

Reste une fois pour toute sur un meme topic car sinon, le nombre de gens qui t'aideront (deja plutot restrinct) va tomber a zero.

Vous etes 2 ou 3 a monopoliser VBfrance des fois. C'est genant.

En plus des fois, tu ne me donnes pas l'impression de chercher longtemps. PAr exemple, ici, je pense pas que c'est dur de trouver l'evenement correspondant a la fermeture de word. Tape close dans l'aide et tu as ta reponse.

On a rien contre toi mais avoue que tu ne nous facilite pas la tache en te dispesant comme cela.
Essaies de faire un effot STP.

A+
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
11 mai 2007 à 10:32
Re,
Mais alors ca n'a aucun rapport avec ceci....

restons sur ça nicko11 :
Je programme sous vba et je voudrai
quand j'appui sur la croix rouge en haut à droite d'un document word ou
excel qu'une MSG box apparaisse. Merci "

Ca devient pénible là.

@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous