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

Faire une pause dans un code

5 réponses
Avatar
Jean-Marc
Salut à tous,

N'ayant pas trouvé de réponse à mon post de la semaine passée pour créer des
pdf à partir d'un état, j'ai trouvé une solution mais il me reste un point
avec lequel je ne m'en sors pas.

PDFCreator est un FREEWARE qui permet de définir (entre autre) un nom et un
chemin fixes pour créer un pdf.
J'utilise donc PDFCreator comme imprimante pour l'état en question.

Le code qui suit fonctionne parce que j'ai placé un msgbox pour laisser le
temps à l'ordinateur de créer le Pdf avant de le copier et de détruire
l'original.
Evidemment je voudrais trouver un moyen afin que le code s'interrompe le
temps de créer ce Pdf, mais je n'y arrive pas.
Qqn doit bien avoir une fonction pause ou qqch du genre, non ?

NomFichier = "NomDuFichierQueJeVeux.pdf"
DoCmd.PrintOut
MsgBox ("Pause")
FileCopy
"C:\CheminDefiniDansPDFCreator\NomFixeCrééParPDFCreator.pdf",
"C:\CheminDeDestination\" & NomFichier
Kill
"C:\CheminDefiniDansPDFCreator\NomFixeCrééParPDFCreator.pdf"


Merci de vos z'avis z'avisés,

Jean-Marc

5 réponses

Avatar
Guy DETIENNE
Salut ;O)

Oui ca existe avec l'API Sleep !
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()

'Ton code ici

'Puis arrête pendant 5 secondes : 5000 millisecondes

Sleep 5000

End Sub


Guy


"Jean-Marc" a écrit dans le message de news:

Salut à tous,

N'ayant pas trouvé de réponse à mon post de la semaine passée pour créer
des
pdf à partir d'un état, j'ai trouvé une solution mais il me reste un point
avec lequel je ne m'en sors pas.

PDFCreator est un FREEWARE qui permet de définir (entre autre) un nom et
un
chemin fixes pour créer un pdf.
J'utilise donc PDFCreator comme imprimante pour l'état en question.

Le code qui suit fonctionne parce que j'ai placé un msgbox pour laisser le
temps à l'ordinateur de créer le Pdf avant de le copier et de détruire
l'original.
Evidemment je voudrais trouver un moyen afin que le code s'interrompe le
temps de créer ce Pdf, mais je n'y arrive pas.
Qqn doit bien avoir une fonction pause ou qqch du genre, non ?

NomFichier = "NomDuFichierQueJeVeux.pdf"
DoCmd.PrintOut
MsgBox ("Pause")
FileCopy
"C:CheminDefiniDansPDFCreatorNomFixeCrééParPDFCreator.pdf",
"C:CheminDeDestination" & NomFichier
Kill
"C:CheminDefiniDansPDFCreatorNomFixeCrééParPDFCreator.pdf"


Merci de vos z'avis z'avisés,

Jean-Marc




Avatar
Jean-Marc
Merci beaucoup,

Jean-Marc

"Guy DETIENNE" a écrit dans le message de
news:%
Salut ;O)

Oui ca existe avec l'API Sleep !
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()

'Ton code ici

'Puis arrête pendant 5 secondes : 5000 millisecondes

Sleep 5000

End Sub


Guy


"Jean-Marc" a écrit dans le message de
news:


Salut à tous,

N'ayant pas trouvé de réponse à mon post de la semaine passée pour créer
des
pdf à partir d'un état, j'ai trouvé une solution mais il me reste un
point


avec lequel je ne m'en sors pas.

PDFCreator est un FREEWARE qui permet de définir (entre autre) un nom et
un
chemin fixes pour créer un pdf.
J'utilise donc PDFCreator comme imprimante pour l'état en question.

Le code qui suit fonctionne parce que j'ai placé un msgbox pour laisser
le


temps à l'ordinateur de créer le Pdf avant de le copier et de détruire
l'original.
Evidemment je voudrais trouver un moyen afin que le code s'interrompe le
temps de créer ce Pdf, mais je n'y arrive pas.
Qqn doit bien avoir une fonction pause ou qqch du genre, non ?

NomFichier = "NomDuFichierQueJeVeux.pdf"
DoCmd.PrintOut
MsgBox ("Pause")
FileCopy
"C:CheminDefiniDansPDFCreatorNomFixeCrééParPDFCreator.pdf",
"C:CheminDeDestination" & NomFichier
Kill
"C:CheminDefiniDansPDFCreatorNomFixeCrééParPDFCreator.pdf"


Merci de vos z'avis z'avisés,

Jean-Marc








Avatar
3stone
Salut,

"Jean-Marc"
[...]
Evidemment je voudrais trouver un moyen afin que le code s'interrompe le
temps de créer ce Pdf, mais je n'y arrive pas.
Qqn doit bien avoir une fonction pause ou qqch du genre, non ?

NomFichier = "NomDuFichierQueJeVeux.pdf"
DoCmd.PrintOut
MsgBox ("Pause")
FileCopy "C:CheminDe...



Et attendre combien de temps ?


Peut-être mieux de vérifier l'existance tu fichier
et de boucler avec quelques "DoEvents" en attendant...



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Jean-Marc
Salut Pierre,

Ta proposition est des plus intéressante, mais comment fais-tu pour cette
vérification et l'attente ?
De plus, il me semble qu'il faudrait mettre une limite à l'attente. Si pour
une raison ou une autre le fichier se crée mal, ou pas du tout, il ne
faudrait pas qu'il boucle indéfiniment.

Merci,

Jean-Marc

"3stone" a écrit dans le message de
news:
Salut,

"Jean-Marc"
[...]
Evidemment je voudrais trouver un moyen afin que le code s'interrompe le
temps de créer ce Pdf, mais je n'y arrive pas.
Qqn doit bien avoir une fonction pause ou qqch du genre, non ?

NomFichier = "NomDuFichierQueJeVeux.pdf"
DoCmd.PrintOut
MsgBox ("Pause")
FileCopy "C:CheminDe...



Et attendre combien de temps ?


Peut-être mieux de vérifier l'existance tu fichier
et de boucler avec quelques "DoEvents" en attendant...



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------







Avatar
3stone
Salut,

"Jean-Marc"
Ta proposition est des plus intéressante, mais comment fais-tu pour cette
vérification et l'attente ?
De plus, il me semble qu'il faudrait mettre une limite à l'attente. Si pour
une raison ou une autre le fichier se crée mal, ou pas du tout, il ne
faudrait pas qu'il boucle indéfiniment.




Vérifier l'existance d'un fichier :

If Dir("C:Machin.txt")<>"" Then ' il existe


si tu veux limiter le temps d'attente, qque chose comme:


Dim ti As integer, f As boolean, t As boolean
ti = Timer

Do
DoEvents
f = Dir("C:Machin.txt") <> "" 'fichier existe
t = (Timer - ti) > 30 'temps d'attente en secondes max
Loop until (f = true) Or (t = true)


ensuite, vérifier si le fichier existe vraiment...


On peut en faire une petite fonction du style:

Function EstEcrit(sFile, iAttenteMax) as Boolean


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------