Comment stopper un enregistrement avec macro?

moshojo Messages postés 23 Statut Membre -  
moshojo Messages postés 23 Statut Membre -
Bonjour à tous !

Dans un fichier excel, j'ai une macro qui m'ouvre une msgbox des que je clic sur enregistrer. Jaimerai pouvoir mettre une msgbox avec deux boutons, le premier qui laisserai l'enregistrement se faire et le deuxieme qui annulerai l'enregistrement.

mais je ne sais pas si on peut stopper l'enregistrement d'un fichier!

quelqu'un aurait-il une idée?

Merci d'avance !


A voir également:

3 réponses

pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Bonjour,
Dans un fichier excel, j'ai une macro
Mais quel est donc le code de cette fameuse macro?
Cordialement,
Franck P
0
moshojo Messages postés 23 Statut Membre
 
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Select Case MsgBox("Voulez-vous enregistrer?")
Case vbYes
'procédure si click sur Oui
Case vbNo
procédure si click sur Non
End Select

End Sub
0
moshojo Messages postés 23 Statut Membre
 
oups j'ai pas copier la bonne, voila ma macro

Select Case MsgBox("Voulez vous enregister?", vbYesNo, "Bonjour!")
Case vbYes
Module14.activmacro 'procédure si click sur Oui
Case vbNo
Module14.desactivmacro 'procédure si click sur Non
End Select
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Alors, le code de ta msgbox ne contient aucun argument. La syntaxe d'un MsgBox est :
MsgBox(message[, boutons] [, titre] [, aide, context])
ou les arguments entre crochets sont facultatifs
Tu dois donc ajouter un argument bouton, dans ton cas oui - non. Tu peux te baser sur le code de Lermite222 (que je salues au passage!), le recopier intégralement ou adapter ton code. Au choix...
Ton code adapté :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
Select Case MsgBox("Voulez-vous enregistrer?", vbQuestion + vbYesNo, "Titre") 
    Case vbYes 
    'procédure si click sur Oui 
    Case vbNo 
    'procédure si click sur Non 
End Select 
End Sub

En cadeau, sisi ça fait plaisir!! un petit tuto super explicite...
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Donc ma réponse est obsolète...
Qu'est ce qui ne fonctionne pas dans ton code?
0
moshojo Messages postés 23 Statut Membre
 
ce que je ne sais pas faire c'est quoi écrire apres en cas de non, c'est à dire ne pas enregistrer
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
MsgBox avec 2 boutons.
Sub SauverOUI_NON() 
    If MsgBox("Confirmer sauver fichier", vbQuestion + vbYesNo, "Titre") = vbYes Then 
        'Sauver le fichier 
    Else
        Exit Sub
    End If 
End Sub

A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Module14.desactivmacro
Que veux-tu dire avec ça ???
0
moshojo Messages postés 23 Statut Membre
 
c'était un exemple de msgbox que j'utilisé, en fait je voudrait remplacer les moduler 14.desactivmacro et active ma
0
moshojo Messages postés 23 Statut Membre
 
et active macro par "enregistre" ou par "n'enregistre pas".
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
On active pas une macro (ou la déactiver), ont l'appel tout simplement (ou pas).
Et pas besoin de mettre le nom du module devant, suffit de mettre la macro en Public.
0
moshojo Messages postés 23 Statut Membre
 
il ne faut pas les prendre en compte ces deux là. elles viennent d'un fichier complètement différent. je voulais juste vous montrer le type de msgbox que j'utilise
0