Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Permettre à une fonction de s' exécuter avant que le programme ne se termine

8 réponses
Avatar
Guy FALESSE
Bonjour à tous,

Je sais que cela existe, mais je ne sais plus comment.
Voici donc ma sub:

Private Sub Commande12_Click()
Dim Réponse As Integer, retval
Réponse = MsgBox("cette date: " & Date & " est-elle bien celle
d'aujourd'hui", vbQuestion + vbYesNo, "Confirmation de date")
If Réponse = vbYes Then
DoCmd.Quit
Else
Réponse = MsgBox("Veuillez donc changer cette date" & vbLf & _
"en apportant les changements dans la" & vbLf & _
"fenêtre qui va s'ouvrir", vbExclamation, "Changement de date")
retval = Shell("rundll32.exe shell32.dll,Control_RunDLL
timedate.cpl,,0", vbNormalFocus)
End If
DoCmd.Quit 'le programme est quitté avant que le
changement de date n'ait été effectué
End Sub

Merci d'avance pour vos réponses :-)
@+

Guy FALESSE

8 réponses

Avatar
Guy FALESSE
Bonjour à tous,
J'ai ajouté Doevents, mais ça ne fonctionne pas, le programme se ferme avant
que la fonction n'ai été réalisée.
@+

Guy FALESSE


"Guy FALESSE" a écrit dans le message de news:

Bonjour à tous,

Je sais que cela existe, mais je ne sais plus comment.
Voici donc ma sub:

Private Sub Commande12_Click()
Dim Réponse As Integer, retval
Réponse = MsgBox("cette date: " & Date & " est-elle bien celle
d'aujourd'hui", vbQuestion + vbYesNo, "Confirmation de date")
If Réponse = vbYes Then
DoCmd.Quit
Else
Réponse = MsgBox("Veuillez donc changer cette date" & vbLf & _
"en apportant les changements dans la" & vbLf & _
"fenêtre qui va s'ouvrir", vbExclamation, "Changement de
date")
retval = Shell("rundll32.exe shell32.dll,Control_RunDLL
timedate.cpl,,0", vbNormalFocus)
End If
DoCmd.Quit 'le programme est quitté avant que le
changement de date n'ait été effectué
End Sub

Merci d'avance pour vos réponses :-)
@+

Guy FALESSE



Avatar
ze Titi
Bonjour Guy FALESSE

C'est certainement de ça que tu veux parler:

http://officesystem.access.free.fr/apishellwait.htm


Dans ton message <ud9UI# du mardi
Bonjour à tous,
J'ai ajouté Doevents, mais ça ne fonctionne pas, le programme se ferme avant
que la fonction n'ai été réalisée.
@+

Guy FALESSE


"Guy FALESSE" a écrit dans le message de news:

Bonjour à tous,

Je sais que cela existe, mais je ne sais plus comment.
Voici donc ma sub:

Private Sub Commande12_Click()
Dim Réponse As Integer, retval
Réponse = MsgBox("cette date: " & Date & " est-elle bien celle
d'aujourd'hui", vbQuestion + vbYesNo, "Confirmation de date")
If Réponse = vbYes Then
DoCmd.Quit
Else
Réponse = MsgBox("Veuillez donc changer cette date" & vbLf & _
"en apportant les changements dans la" & vbLf & _
"fenêtre qui va s'ouvrir", vbExclamation, "Changement de date")
retval = Shell("rundll32.exe shell32.dll,Control_RunDLL
timedate.cpl,,0", vbNormalFocus)
End If
DoCmd.Quit 'le programme est quitté avant que le
changement de date n'ait été effectué
End Sub

Merci d'avance pour vos réponses :-)
@+

Guy FALESSE




--
Voilou !
Cordialement,

Ze Titi


Avatar
Guy FALESSE
Salut ZeTiti,
Merci de ta réponse et pour l'info,

Mais, j'ai fait ça
ShellWait("rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0",
vbNormalFocus) = 1
et j'ai comme réponse sub ou fonction non définie, alors que j'ai bien créé
un nouveau module, à moins qu'il ne faille mettre cette fonction là où se
trouve mon formulaire, je vérifie.
@+
Guy FALESSE

"ze Titi" a écrit dans le message de news:

Bonjour Guy FALESSE

C'est certainement de ça que tu veux parler:

http://officesystem.access.free.fr/apishellwait.htm


Dans ton message <ud9UI# du mardi
Bonjour à tous,
J'ai ajouté Doevents, mais ça ne fonctionne pas, le programme se ferme
avant que la fonction n'ai été réalisée.
@+

Guy FALESSE


"Guy FALESSE" a écrit dans le message de news:

Bonjour à tous,

Je sais que cela existe, mais je ne sais plus comment.
Voici donc ma sub:

Private Sub Commande12_Click()
Dim Réponse As Integer, retval
Réponse = MsgBox("cette date: " & Date & " est-elle bien celle
d'aujourd'hui", vbQuestion + vbYesNo, "Confirmation de date")
If Réponse = vbYes Then
DoCmd.Quit
Else
Réponse = MsgBox("Veuillez donc changer cette date" & vbLf &
_
"en apportant les changements dans la" & vbLf & _
"fenêtre qui va s'ouvrir", vbExclamation, "Changement de
date")
retval = Shell("rundll32.exe shell32.dll,Control_RunDLL
timedate.cpl,,0", vbNormalFocus)
End If
DoCmd.Quit 'le programme est quitté avant que le
changement de date n'ait été effectué
End Sub

Merci d'avance pour vos réponses :-)
@+

Guy FALESSE




--
Voilou !
Cordialement,

Ze Titi






Avatar
Guy FALESSE
ReSalut ze titi,
J'ai mis la fonction en public et maintenant, j'ai:

Un appel de fonction dans la partie gauche doit renvoyer variant ou object.
??
J'ai essayé ça:
délai = ShellWait("rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0",
vbNormalFocus)
Maintenant, j'ai:
Erreur de compilation:
Nbre d'argument incorect ou affectation de propriété incorrect.
délai étant déclaré comme variant.
Voilà, merci en tout cas d'avoir essayé :-)
@+

Guy FALESSE

"Guy FALESSE" a écrit dans le message de news:
uKn8R%
Salut ZeTiti,
Merci de ta réponse et pour l'info,

Mais, j'ai fait ça
ShellWait("rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0",
vbNormalFocus) = 1
et j'ai comme réponse sub ou fonction non définie, alors que j'ai bien
créé un nouveau module, à moins qu'il ne faille mettre cette fonction là
où se trouve mon formulaire, je vérifie.
@+
Guy FALESSE

"ze Titi" a écrit dans le message de
news:
Bonjour Guy FALESSE

C'est certainement de ça que tu veux parler:

http://officesystem.access.free.fr/apishellwait.htm


Dans ton message <ud9UI# du mardi
Bonjour à tous,
J'ai ajouté Doevents, mais ça ne fonctionne pas, le programme se ferme
avant que la fonction n'ai été réalisée.
@+

Guy FALESSE


"Guy FALESSE" a écrit dans le message de news:

Bonjour à tous,

Je sais que cela existe, mais je ne sais plus comment.
Voici donc ma sub:

Private Sub Commande12_Click()
Dim Réponse As Integer, retval
Réponse = MsgBox("cette date: " & Date & " est-elle bien celle
d'aujourd'hui", vbQuestion + vbYesNo, "Confirmation de date")
If Réponse = vbYes Then
DoCmd.Quit
Else
Réponse = MsgBox("Veuillez donc changer cette date" & vbLf &
_
"en apportant les changements dans la" & vbLf & _
"fenêtre qui va s'ouvrir", vbExclamation, "Changement de
date")
retval = Shell("rundll32.exe shell32.dll,Control_RunDLL
timedate.cpl,,0", vbNormalFocus)
End If
DoCmd.Quit 'le programme est quitté avant que le
changement de date n'ait été effectué
End Sub

Merci d'avance pour vos réponses :-)
@+

Guy FALESSE




--
Voilou !
Cordialement,

Ze Titi










Avatar
ze Titi
Bonjour Guy FALESSE

Essaie plutôt:

Dim delai as Boolean
delai=ShellWait("rundll32.exe shell32.dll,Control_RunDLL
timedate.cpl,,0")
If not delai then msgbox "Erreur d'éxécution !"

En effet, cette fonction ne prend qu'un argument ! De plus, elle
renvoit un booléen, par conséquent, ta variable délai doit être
déclarée comme tel
Ce booléen indique si l'éxécution s'est lancée correctement ou non,
d'où le test après le lancement de ShellWait

--
Voilou !
Bon courage !
Cordialement,
ze Titi
Avatar
Guy FALESSE
Salut ze Titi,
Impeccable, ça fonctionne à merveille.
De plus, j'ai encore mieux appris comment marche une fonction comme
celle-là, je suis plutôt nul là-dedans :-)
Encore merci et bonne fin de journée:-)
@+

Guy FALESSE

"ze Titi" a écrit dans le message de news:

Bonjour Guy FALESSE

Essaie plutôt:

Dim delai as Boolean
delai=ShellWait("rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0")
If not delai then msgbox "Erreur d'éxécution !"

En effet, cette fonction ne prend qu'un argument ! De plus, elle renvoit
un booléen, par conséquent, ta variable délai doit être déclarée comme tel
Ce booléen indique si l'éxécution s'est lancée correctement ou non, d'où
le test après le lancement de ShellWait

--
Voilou !
Bon courage !
Cordialement,
ze Titi




Avatar
ze Titi
De rien, merci du retour :-))

Bonne continuation

Dans ton message <Oo#pW$ du mercredi
Salut ze Titi,
Impeccable, ça fonctionne à merveille.
De plus, j'ai encore mieux appris comment marche une fonction comme celle-là,
je suis plutôt nul là-dedans :-)
Encore merci et bonne fin de journée:-)
@+

Guy FALESSE

"ze Titi" a écrit dans le message de news:

Bonjour Guy FALESSE

Essaie plutôt:

Dim delai as Boolean
delai=ShellWait("rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0")
If not delai then msgbox "Erreur d'éxécution !"

En effet, cette fonction ne prend qu'un argument ! De plus, elle renvoit un
booléen, par conséquent, ta variable délai doit être déclarée comme tel
Ce booléen indique si l'éxécution s'est lancée correctement ou non, d'où le
test après le lancement de ShellWait

-- Voilou !
Bon courage !
Cordialement,
ze Titi





--

Cordialement,

Ze Titi


Avatar
Guy FALESSE
Salut ze Titi,

Merciiiiii :-)

@+

Guy FALESSE

ze Titi" a écrit dans le message de news:

De rien, merci du retour :-))

Bonne continuation

Dans ton message <Oo#pW$ du mercredi
Salut ze Titi,
Impeccable, ça fonctionne à merveille.
De plus, j'ai encore mieux appris comment marche une fonction comme
celle-là, je suis plutôt nul là-dedans :-)
Encore merci et bonne fin de journée:-)
@+

Guy FALESSE

"ze Titi" a écrit dans le message de
news:
Bonjour Guy FALESSE

Essaie plutôt:

Dim delai as Boolean
delai=ShellWait("rundll32.exe shell32.dll,Control_RunDLL
timedate.cpl,,0")
If not delai then msgbox "Erreur d'éxécution !"

En effet, cette fonction ne prend qu'un argument ! De plus, elle renvoit
un booléen, par conséquent, ta variable délai doit être déclarée comme
tel
Ce booléen indique si l'éxécution s'est lancée correctement ou non, d'où
le test après le lancement de ShellWait

-- Voilou !
Bon courage !
Cordialement,
ze Titi





--

Cordialement,

Ze Titi