Comment obliger à repondre deux foix non

Le
Bruno RCSC
Bonsoir,

Sous Excel 2002,

Un fichier est consulté par plusieurs personnes.
Je voudrais obliger l'utilisateur à fermer le fichier en 2 étapes.
"Voulez vous enregistrer les modifications apportées à ""
Réponse NON
Puis une nouvelle fois la question.

Comment peut on poser deux fois la question ?

Merci pour votre aide.

BH
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #5180381
Bonsoir,
Supposons un premier message du type

reponse_1= msgbox("Voulez vous enregistrer les modifications apportées à
....",vbyesno,"Question 1")

on peut tester la réponse apportée et adapter l'action à cette réponse

if reponse_1 = vbno then
reponse_2= msgbox("Etes vous vraiment certain ?",vbyesno,"Question2")
'tagadatsointsoin
endif
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Bruno RCSC" news:47cb087d$0$887$
Bonsoir,

Sous Excel 2002,

Un fichier est consulté par plusieurs personnes.
Je voudrais obliger l'utilisateur à fermer le fichier en 2 étapes.
"Voulez vous enregistrer les modifications apportées à ""
Réponse NON
Puis une nouvelle fois la question.

Comment peut on poser deux fois la question ?

Merci pour votre aide.

BH




LSteph
Le #5180281
Bonsoir,

Un fichier est consulté par plusieurs personnes.
pour cela est il en mode partagé?


si tel est le cas oublie les évennements

sinon:
Je voudrais obliger l'utilisateur à fermer le fichier en 2 étapes.
"Voulez vous enregistrer les modifications apportées à ""
pourquoi pas mais..quel évennement beforesave ou beforeclose


Attention ce ne sera pas pareil
ta question ne viserait pas la fermeture mais l'enregistrement
et tout dépend de ce qu'on veut obtenir, à cet égard:
comment considèrer les réponses
non non
oui non
non oui
oui oui
dans quel cas on enregistre et on ferme et/ou on enregistre et/ou il
reste ouvert..§?

--
lSteph


Bonsoir,

Sous Excel 2002,

Un fichier est consulté par plusieurs personnes.
Je voudrais obliger l'utilisateur à fermer le fichier en 2 étapes.
"Voulez vous enregistrer les modifications apportées à ""
Réponse NON
Puis une nouvelle fois la question.

Comment peut on poser deux fois la question ?

Merci pour votre aide.

BH





Bruno RCSC
Le #5177971
Bonsoir,

Non, le fichier n'est pas partagé, il est sur un serveur et consultable via
un raccourci sur le bureau des personnes.
Une seule personne centralise les changements à effectuer.
J'ai essayé de codifier sur l'idée de Philippe mais pas très doué, mes
boucles emmêlent.
L'évènement est beforeclose et les réponses sont non+non ou oui+oui.
J'ai essayé le puzzle suivant:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim rep1
Dim rep2
Dim rep3
rep1 = MsgBox("Voulez vous enregistrer vos changements ?", vbYesNo)
If rep1 = vbYes Then
rep2 = MsgBox("ETES VOUS SUR DE VOULOIR ENREGISTRER VOS CHANGEMENTS ?",
vbYesNo)
If rep2 = vbYes Then
ActiveWorkbook.Close
End If
Else
rep3 = MsgBox("ETES VOUS SUR DE FERMER SANS SAUVEGARDER ?", vbYesNo)
If rep3 = vbYes Then
ActiveWorkbook.Close SaveChanges:úlse
End If

Mais la boucle a du mal à se boucler.

Je preneur de toute idée plus simple et plus efficace.

Par avance, merci.

BH
LSteph
Le #5175951
Bonjour Bruno,

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim zazatest1 As Integer, zazatest2 As Integer, msg As String
msg = "Voulez-vous enregistrer les modifications apportées à " _
& ThisWorkbook.FullName
zazatest1 = MsgBox(msg, vbYesNo)
zazatest2 = MsgBox(msg, vbYesNo)
If zazatest2 <> zazatest1 Then
Cancel = True
MsgBox "transaction abandonnée, réponses incohérentes"
Else
If zazatest1 = 6 Then
ThisWorkbook.Save
Else
Saved = True
Cancel = False
End If
End If
End Sub

'lSteph
Bruno RCSC
Le #5175611
Bonsoir,

Merci beaucoup.
C'est exactement ce que je souhaite mettre en place.


BH.
--
Bonjour Bruno,

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim zazatest1 As Integer, zazatest2 As Integer, msg As String
msg = "Voulez-vous enregistrer les modifications apportées à " _
& ThisWorkbook.FullName
zazatest1 = MsgBox(msg, vbYesNo)
zazatest2 = MsgBox(msg, vbYesNo)
If zazatest2 <> zazatest1 Then
Cancel = True
MsgBox "transaction abandonnée, réponses incohérentes"
Else
If zazatest1 = 6 Then
ThisWorkbook.Save
Else
Saved = True
Cancel = False
End If
End If
End Sub

'lSteph


Publicité
Poster une réponse
Anonyme