compléter une macro

bpol

XLDnaute Impliqué
bonsoir le forum,

a la cloture de mon fichier j'ai un MsgBox :

"la caisse journalière a-t-elle été enregistrée?"

comment faire pour que si cela est fait elle ferme le fichier sinon elle appelle une macro?


Merci pour vos lumières

Bpol
 

fhoest

XLDnaute Accro
Re : compléter une macro

bonjour,
Code:
if msgbox("la caisse journalière a-t-elle été enregistrée?"),vbyesno=vbyes then
activeworbook.close
else:
call macro
end if

je n'ai pas mis le code dans l'editeur vba pour la syntaxe exact place le dans le vb
A+
 

bpol

XLDnaute Impliqué
Re : compléter une macro

Bonsoir,

après essai dans mon fichier cela m'indiquait plusieurs erreurs (écrit en rouge)

je l'ai modifiée ainsi mais elle bloque à hauteur de activewokbook.close



Code:
MsgBox "la caisse journalière a-t-elle été enregistrée?", vbYesNo
If vbYes Then [B]activeworbook.Close[/B]
If vbNo Then Call macro


Bpol
 

fhoest

XLDnaute Accro
Re : compléter une macro

Bonsoir, re
erreur de syntaxe voir en rouge manque le K

Bonsoir,

après essai dans mon fichier cela m'indiquait plusieurs erreurs (écrit en rouge)

je l'ai modifiée ainsi mais elle bloque à hauteur de activewokbook.close



Code:
MsgBox "la caisse journalière a-t-elle été enregistrée?", vbYesNo
If vbYes Then [B][COLOR="Red"]activeworbook.Close[/COLOR][/B]
If vbNo Then Call macro



Bpol
Activeworkbook.close
A+
 

fhoest

XLDnaute Accro
Re : compléter une macro

lorsque tu met l'instruction
With Sheets([B19].Value)
B19 correspond a base de donnée hors tu dis avec la feuille base de donnée blablabla
mais ce n'est pas possible car la feulle ne s'apelle pas base de donnée mais BD
change le nonm de ta feuilles pour commencer
A+
 

bpol

XLDnaute Impliqué
Re : compléter une macro

Bonjour,

je ne comprends pas ta remarque vu que dans la macro caisse1 on ne fait pas référence à la BD et si je fais fonctionner la macro caisse1 par le bouton elle fonctionne mais pas quand on l'appelle par avec une autre macro.

Merci
Bpol
 

fhoest

XLDnaute Accro
Re : compléter une macro

bonjour,
je ne reve pas je vois bien caisse 1 appeler dans ce bout de code et non pas par un bouton.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sheets("intro").Select
'and
MsgBox "la caisse journalière a-t-elle été enregistrée?", vbYesNo
If vbYes Then ActiveWorkbook.Close
If vbNo Then [COLOR="Red"]Call caisse1[/COLOR]
End Sub
je te propose plutot ce code:

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("intro").Select
If MsgBox("la caisse journalière a-t-elle été enregistrée?", vbYesNo) <> vbYes Then Call caisse1
End Sub
A+
 
Dernière édition:

Discussions similaires

Réponses
31
Affichages
1 K
Réponses
4
Affichages
214