Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe (Ca
je
ne peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'il
existe (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
le
fichier mais d'une taille de 0k. Par après ce fichier prend une taille
plus
correcte (La durée du fichier d'une taille de 0k est variable et augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtout
vérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe (Ca
je
ne peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'il
existe (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
le
fichier mais d'une taille de 0k. Par après ce fichier prend une taille
plus
correcte (La durée du fichier d'une taille de 0k est variable et augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtout
vérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe (Ca
je
ne peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'il
existe (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
le
fichier mais d'une taille de 0k. Par après ce fichier prend une taille
plus
correcte (La durée du fichier d'une taille de 0k est variable et augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtout
vérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe (Ca
je
ne peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'il
existe (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
le
fichier mais d'une taille de 0k. Par après ce fichier prend une taille
plus
correcte (La durée du fichier d'une taille de 0k est variable et augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtout
vérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe (Ca
je
ne peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'il
existe (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
le
fichier mais d'une taille de 0k. Par après ce fichier prend une taille
plus
correcte (La durée du fichier d'une taille de 0k est variable et augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtout
vérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe (Ca
je
ne peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'il
existe (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
le
fichier mais d'une taille de 0k. Par après ce fichier prend une taille
plus
correcte (La durée du fichier d'une taille de 0k est variable et augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtout
vérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Bonsoir.
je ferais un truc comme ça:
Dim fso As New filesystemobject
Dim Fso_File As File
Private Sub Commande0_Click()
' lancer l'impression pdf ici
Me.TimerInterval = 1000
End Sub
Private Sub Form_Timer()
On Error GoTo sortie
Set Fso_File = fso.GetFile(PathName)
If Fso_File.Size > 0 Then
Fso_File.Copy "destination"
DoEvents
Fso_File.Delete Force
Me.TimerInterval = 0
End If
sortie:
On Error Resume Next
Set Fso_File = Nothing
DoEvents
End Sub
en résumé: tu lances l'impression de l'état, tu mets le timer à 1 seconde,
et toutes les secondes tu scrutes si le fichier est > 0 en size et si oui
tu
copies et tu deletes.
attention, cette procédure n'est pas testée.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Jean-Marc" a écrit dans le message de
news:Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe
(Ca
jene peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'ilexiste (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois
un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
lefichier mais d'une taille de 0k. Par après ce fichier prend une taille
pluscorrecte (La durée du fichier d'une taille de 0k est variable et
augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtoutvérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait
pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la
boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Bonsoir.
je ferais un truc comme ça:
Dim fso As New filesystemobject
Dim Fso_File As File
Private Sub Commande0_Click()
' lancer l'impression pdf ici
Me.TimerInterval = 1000
End Sub
Private Sub Form_Timer()
On Error GoTo sortie
Set Fso_File = fso.GetFile(PathName)
If Fso_File.Size > 0 Then
Fso_File.Copy "destination"
DoEvents
Fso_File.Delete Force
Me.TimerInterval = 0
End If
sortie:
On Error Resume Next
Set Fso_File = Nothing
DoEvents
End Sub
en résumé: tu lances l'impression de l'état, tu mets le timer à 1 seconde,
et toutes les secondes tu scrutes si le fichier est > 0 en size et si oui
tu
copies et tu deletes.
attention, cette procédure n'est pas testée.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Jean-Marc" <NoSpam.jm.deneyer@advalvas.be> a écrit dans le message de
news:ePSjPx0nEHA.3992@TK2MSFTNGP15.phx.gbl...
Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe
(Ca
je
ne peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'il
existe (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois
un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
le
fichier mais d'une taille de 0k. Par après ce fichier prend une taille
plus
correcte (La durée du fichier d'une taille de 0k est variable et
augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtout
vérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait
pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la
boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Bonsoir.
je ferais un truc comme ça:
Dim fso As New filesystemobject
Dim Fso_File As File
Private Sub Commande0_Click()
' lancer l'impression pdf ici
Me.TimerInterval = 1000
End Sub
Private Sub Form_Timer()
On Error GoTo sortie
Set Fso_File = fso.GetFile(PathName)
If Fso_File.Size > 0 Then
Fso_File.Copy "destination"
DoEvents
Fso_File.Delete Force
Me.TimerInterval = 0
End If
sortie:
On Error Resume Next
Set Fso_File = Nothing
DoEvents
End Sub
en résumé: tu lances l'impression de l'état, tu mets le timer à 1 seconde,
et toutes les secondes tu scrutes si le fichier est > 0 en size et si oui
tu
copies et tu deletes.
attention, cette procédure n'est pas testée.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Jean-Marc" a écrit dans le message de
news:Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe
(Ca
jene peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'ilexiste (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois
un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
lefichier mais d'une taille de 0k. Par après ce fichier prend une taille
pluscorrecte (La durée du fichier d'une taille de 0k est variable et
augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtoutvérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait
pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la
boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Salut,
Pour ta création de PDF, malheureusement je ne peux pas te répondre.
Par contre, pour arrêter une procédure après une exécution de 10 secondes,
je te propose ce petit exemple
Sub Essai()
Dim Hfin As Date
'On détermine la <<date>> de fin
Hfin = DateAdd("s", 10, Now())
Do Until False
' On écrit toute la procédure ici
' ou bien on peut faire appel à celle-ci
' On teste l'échéance de la routine
If Now >= Hfin Then
Beep
MsgBox "Fin du programme d'une boucle sans fin", vbCritical
Exit Sub 'ou bien Stop si tu veux voir le débogage
End If
Loop
'Attention 10 secondes c'est court surtout s'il y a beaucoup de données.
End Sub
A+
"Jean-Marc" a écrit dans le message de
news:
Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe
(Ca
je
ne peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'il
existe (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois
un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
le
fichier mais d'une taille de 0k. Par après ce fichier prend une taille
plus
correcte (La durée du fichier d'une taille de 0k est variable et
augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtout
vérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait
pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la
boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Salut,
Pour ta création de PDF, malheureusement je ne peux pas te répondre.
Par contre, pour arrêter une procédure après une exécution de 10 secondes,
je te propose ce petit exemple
Sub Essai()
Dim Hfin As Date
'On détermine la <<date>> de fin
Hfin = DateAdd("s", 10, Now())
Do Until False
' On écrit toute la procédure ici
' ou bien on peut faire appel à celle-ci
' On teste l'échéance de la routine
If Now >= Hfin Then
Beep
MsgBox "Fin du programme d'une boucle sans fin", vbCritical
Exit Sub 'ou bien Stop si tu veux voir le débogage
End If
Loop
'Attention 10 secondes c'est court surtout s'il y a beaucoup de données.
End Sub
A+
"Jean-Marc" <NoSpam.jm.deneyer@advalvas.be> a écrit dans le message de
news:
ePSjPx0nEHA.3992@TK2MSFTNGP15.phx.gbl...
Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe
(Ca
je
ne peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'il
existe (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois
un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
le
fichier mais d'une taille de 0k. Par après ce fichier prend une taille
plus
correcte (La durée du fichier d'une taille de 0k est variable et
augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtout
vérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait
pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la
boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Salut,
Pour ta création de PDF, malheureusement je ne peux pas te répondre.
Par contre, pour arrêter une procédure après une exécution de 10 secondes,
je te propose ce petit exemple
Sub Essai()
Dim Hfin As Date
'On détermine la <<date>> de fin
Hfin = DateAdd("s", 10, Now())
Do Until False
' On écrit toute la procédure ici
' ou bien on peut faire appel à celle-ci
' On teste l'échéance de la routine
If Now >= Hfin Then
Beep
MsgBox "Fin du programme d'une boucle sans fin", vbCritical
Exit Sub 'ou bien Stop si tu veux voir le débogage
End If
Loop
'Attention 10 secondes c'est court surtout s'il y a beaucoup de données.
End Sub
A+
"Jean-Marc" a écrit dans le message de
news:
Salut à tous,
Plusieurs états doivent être imprimés en pdf puis redirigés dans des
directories différents.
Chaque état imprime un fichier pdf avec un nom fixe et un chemin fixe
(Ca
je
ne peux pas le modifier).
Ensuite, ce fichier pdf est copié dans le bon directory et son nom est
changé.
Enfin le fichier pdf d'origine est "killé".
Mon souci est le délai de création du 1er fichier pdf.
J'ai défini une boucle pour vérifier si le fichier existe, et une fois
qu'il
existe (donc que le pdf est fait), il passe à l'étape de copie.
J'ai donc bouclé comme suit :
Set fs = CreateObject("Scripting.FileSystemObject")
Do
If fs.FileExists(Chemin & NomFichier) Then Exit Do
Loop
FileCopy ....
etc ...
La boucle fonctionne correctement mais au moment du FileCopy je reçois
un
message "Permission refusée".
Je pense avoir constaté un délai lors de la création du 1er pdf. Il crée
le
fichier mais d'une taille de 0k. Par après ce fichier prend une taille
plus
correcte (La durée du fichier d'une taille de 0k est variable et
augmente
avec la taille finale du fichier).
Comment puis-je tester non seulement existence de mon fichier, mais
surtout
vérifier que sa taille soit supérieur à 0k afin de libérer ma boucle ?
Une autre question dérivée :
Comment éviter un bouclage infini dans le cas d'un bug qui ne créerait
pas
le fichier ??
Comment définir qu'après, par exemple, 10 secondes, il sorte de la
boucle
pour envoyer un message délai dépassé, par exemple ?
Merci de vos z'avis z'avisés,
Jean-Marc
Merci Raymond,
Lors de mes essais j'ai constaté que pour un pdf de 110 page, mon PC met
près de 3 secondes pour parachever le pdf et lui donner sa taille finale.
Durant ce temps, sa taille "gonfle".
J'ai donc procédé de la manière suivante afin de tester que sa taille soit
bien supérieure à 0 et ne varie plus.
Pour le délai, comme je mets un sleep de 1 sec, si je boucle 20 fois, je
sors afin de ne pas avoir de bouclage infini.
Voici ce que j'ai écris :
boucle = 0
Size = 0
Set fso = CreateObject("Scripting.FileSystemObject")
Do
If fso.FileExists(PathName) Then Exit Do
Loop
Set f = fso.GetFile(PathName)
Do
Sleep (1000)
If (f.Size > 0 And Size = f.Size) Then Exit Do
boucle = boucle + 1
Size = f.Size
If boucle > 20 Then
alerte = MsgBox("Un problème est survenu durant
l'établissement du fichier pdf." & Chr(10) _
& Chr(13) & " La procédure va être interrompue et le
rapport NE sera PAS envoyé.", vbCritical, "Erreur de procédure")
GoTo Exit_fonction
End If
Loop
f.Copy PathNameFinal
DoEvents
f.Delete Force
Exit_fonction:
Exit Function
Merci Raymond,
Lors de mes essais j'ai constaté que pour un pdf de 110 page, mon PC met
près de 3 secondes pour parachever le pdf et lui donner sa taille finale.
Durant ce temps, sa taille "gonfle".
J'ai donc procédé de la manière suivante afin de tester que sa taille soit
bien supérieure à 0 et ne varie plus.
Pour le délai, comme je mets un sleep de 1 sec, si je boucle 20 fois, je
sors afin de ne pas avoir de bouclage infini.
Voici ce que j'ai écris :
boucle = 0
Size = 0
Set fso = CreateObject("Scripting.FileSystemObject")
Do
If fso.FileExists(PathName) Then Exit Do
Loop
Set f = fso.GetFile(PathName)
Do
Sleep (1000)
If (f.Size > 0 And Size = f.Size) Then Exit Do
boucle = boucle + 1
Size = f.Size
If boucle > 20 Then
alerte = MsgBox("Un problème est survenu durant
l'établissement du fichier pdf." & Chr(10) _
& Chr(13) & " La procédure va être interrompue et le
rapport NE sera PAS envoyé.", vbCritical, "Erreur de procédure")
GoTo Exit_fonction
End If
Loop
f.Copy PathNameFinal
DoEvents
f.Delete Force
Exit_fonction:
Exit Function
Merci Raymond,
Lors de mes essais j'ai constaté que pour un pdf de 110 page, mon PC met
près de 3 secondes pour parachever le pdf et lui donner sa taille finale.
Durant ce temps, sa taille "gonfle".
J'ai donc procédé de la manière suivante afin de tester que sa taille soit
bien supérieure à 0 et ne varie plus.
Pour le délai, comme je mets un sleep de 1 sec, si je boucle 20 fois, je
sors afin de ne pas avoir de bouclage infini.
Voici ce que j'ai écris :
boucle = 0
Size = 0
Set fso = CreateObject("Scripting.FileSystemObject")
Do
If fso.FileExists(PathName) Then Exit Do
Loop
Set f = fso.GetFile(PathName)
Do
Sleep (1000)
If (f.Size > 0 And Size = f.Size) Then Exit Do
boucle = boucle + 1
Size = f.Size
If boucle > 20 Then
alerte = MsgBox("Un problème est survenu durant
l'établissement du fichier pdf." & Chr(10) _
& Chr(13) & " La procédure va être interrompue et le
rapport NE sera PAS envoyé.", vbCritical, "Erreur de procédure")
GoTo Exit_fonction
End If
Loop
f.Copy PathNameFinal
DoEvents
f.Delete Force
Exit_fonction:
Exit Function