Bonjour,
Existe t il une fonction permettant de faire une pause de 3 secondes par
exemple lors de l'éxécution de code.
(access 2002)
Le problème que j'ai à résoudre est le suivant :
je lance une impression de tous les documents word dont le chemin est dans
une table et qui sont classés dans un ordre précis.
Pour ce faire j'ouvre les documents un par un , imprime referme le document
word, ouvre le suivant, imprime....etc.
ça marche très bien sauf que voilà parfois il arrive que les documents ne
sortent pas dans l'ordre prédéfini alors que dans la table ils le sont bien.
Je soupsonne un mélange dans la queue (documents plus lourd les uns que les
autres...pas bien mis en évidence quand même).
Je souhaitais tenter un arrêt de quelques secondes (1,2.. je ne sais pas
encore) dans mon code pour que les documents aient le temps de s'ouvrir de
s'imprimer en parti avant de relancer le 2ème document. Ca me permettrai de
savoir si mon soupçon est justifié.
Merci pour vos tuyaux...
Gilbert
Le code utilisé est le suivant :
.....
Dim rst1 As New Recordset, i1 As Integer, StrLeChemin As String
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
pgz
Bonjour,
Je te proposerais dans le cas que tu présentes, d'utiliser le timer d'un formulaire, ce qui libère totalement les ressources de la machibe entre 2 commandes d'impression.
Toutes les 3 secondes tu auras un évènement qui te permettra de commander l'impression du document suivant.
Bon courage,
-- pgz
"Ce qui se conçoit mal s''énonce péniblement et les mots pour le dire arrivent péniblement. - dicomoche.net _____________________________
Bonjour, Existe t il une fonction permettant de faire une pause de 3 secondes par exemple lors de l'éxécution de code. (access 2002)
Le problème que j'ai à résoudre est le suivant :
je lance une impression de tous les documents word dont le chemin est dans une table et qui sont classés dans un ordre précis. Pour ce faire j'ouvre les documents un par un , imprime referme le document word, ouvre le suivant, imprime....etc. ça marche très bien sauf que voilà parfois il arrive que les documents ne sortent pas dans l'ordre prédéfini alors que dans la table ils le sont bien.
Je soupsonne un mélange dans la queue (documents plus lourd les uns que les autres...pas bien mis en évidence quand même). Je souhaitais tenter un arrêt de quelques secondes (1,2.. je ne sais pas encore) dans mon code pour que les documents aient le temps de s'ouvrir de s'imprimer en parti avant de relancer le 2ème document. Ca me permettrai de savoir si mon soupçon est justifié.
Merci pour vos tuyaux... Gilbert
Le code utilisé est le suivant : ......
Dim rst1 As New Recordset, i1 As Integer, StrLeChemin As String
Je te proposerais dans le cas que tu présentes, d'utiliser le timer d'un
formulaire, ce qui libère totalement les ressources de la machibe entre 2
commandes d'impression.
Toutes les 3 secondes tu auras un évènement qui te permettra de commander
l'impression du document suivant.
Bon courage,
--
pgz
"Ce qui se conçoit mal s''énonce péniblement et les mots pour le dire
arrivent péniblement. - dicomoche.net
_____________________________
p-g-z@wanadoo.fr
Bonjour,
Existe t il une fonction permettant de faire une pause de 3 secondes par
exemple lors de l'éxécution de code.
(access 2002)
Le problème que j'ai à résoudre est le suivant :
je lance une impression de tous les documents word dont le chemin est dans
une table et qui sont classés dans un ordre précis.
Pour ce faire j'ouvre les documents un par un , imprime referme le document
word, ouvre le suivant, imprime....etc.
ça marche très bien sauf que voilà parfois il arrive que les documents ne
sortent pas dans l'ordre prédéfini alors que dans la table ils le sont bien.
Je soupsonne un mélange dans la queue (documents plus lourd les uns que les
autres...pas bien mis en évidence quand même).
Je souhaitais tenter un arrêt de quelques secondes (1,2.. je ne sais pas
encore) dans mon code pour que les documents aient le temps de s'ouvrir de
s'imprimer en parti avant de relancer le 2ème document. Ca me permettrai de
savoir si mon soupçon est justifié.
Merci pour vos tuyaux...
Gilbert
Le code utilisé est le suivant :
......
Dim rst1 As New Recordset, i1 As Integer, StrLeChemin As String
Je te proposerais dans le cas que tu présentes, d'utiliser le timer d'un formulaire, ce qui libère totalement les ressources de la machibe entre 2 commandes d'impression.
Toutes les 3 secondes tu auras un évènement qui te permettra de commander l'impression du document suivant.
Bon courage,
-- pgz
"Ce qui se conçoit mal s''énonce péniblement et les mots pour le dire arrivent péniblement. - dicomoche.net _____________________________
Bonjour, Existe t il une fonction permettant de faire une pause de 3 secondes par exemple lors de l'éxécution de code. (access 2002)
Le problème que j'ai à résoudre est le suivant :
je lance une impression de tous les documents word dont le chemin est dans une table et qui sont classés dans un ordre précis. Pour ce faire j'ouvre les documents un par un , imprime referme le document word, ouvre le suivant, imprime....etc. ça marche très bien sauf que voilà parfois il arrive que les documents ne sortent pas dans l'ordre prédéfini alors que dans la table ils le sont bien.
Je soupsonne un mélange dans la queue (documents plus lourd les uns que les autres...pas bien mis en évidence quand même). Je souhaitais tenter un arrêt de quelques secondes (1,2.. je ne sais pas encore) dans mon code pour que les documents aient le temps de s'ouvrir de s'imprimer en parti avant de relancer le 2ème document. Ca me permettrai de savoir si mon soupçon est justifié.
Merci pour vos tuyaux... Gilbert
Le code utilisé est le suivant : ......
Dim rst1 As New Recordset, i1 As Integer, StrLeChemin As String
Background:úlse indique que l'exécution de la procédure doit attendre la fin de l'impression du document dans word ( la fin de la mise en file d'attente dans le spooler) et Background:=True (valeur par défaut) que l'exécution se poursuive pendant l'impression du document dans Microsoft Word.
"Gilbert" <[nospam] a écrit dans le message de news: f7im3m$da8$ | Bonjour, | Existe t il une fonction permettant de faire une pause de 3 secondes par | exemple lors de l'éxécution de code. | (access 2002) | | Le problème que j'ai à résoudre est le suivant : | | je lance une impression de tous les documents word dont le chemin est dans | une table et qui sont classés dans un ordre précis. | Pour ce faire j'ouvre les documents un par un , imprime referme le document | word, ouvre le suivant, imprime....etc. | ça marche très bien sauf que voilà parfois il arrive que les documents ne | sortent pas dans l'ordre prédéfini alors que dans la table ils le sont bien. | | Je soupsonne un mélange dans la queue (documents plus lourd les uns que les | autres...pas bien mis en évidence quand même). | Je souhaitais tenter un arrêt de quelques secondes (1,2.. je ne sais pas | encore) dans mon code pour que les documents aient le temps de s'ouvrir de | s'imprimer en parti avant de relancer le 2ème document. Ca me permettrai de | savoir si mon soupçon est justifié. | | Merci pour vos tuyaux... | Gilbert | | Le code utilisé est le suivant : | ..... | | Dim rst1 As New Recordset, i1 As Integer, StrLeChemin As String | | rst1.ActiveConnection = CurrentProject.Connection | | rst1.Open "TblImpressTmp", , adOpenKeyset, adLockOptimistic | | Do Until rst1.EOF | | StrLeChemin = rst1.Fields("LeChemin") | | nbrcopie = rst1.Fields("NbrPageImp") | | With objWord | | .Visible = False | | On Error GoTo suiteferme | | Set Doc = .Documents.Add(StrLeChemin) | | With Doc.Bookmarks | | .Item("sigEtude").Range.Text = strEtude | | .Item("sigProduit").Range.Text = strProduit | | '.Item("sigDate").Range.Text = strDate | | End With | | End With | | objWord.ActiveDocument.PrintOut _ | | copies:=nbrcopie | | | objWord.ActiveDocument.Close (False) | | rst1.MoveNext | | pause | | Loop | | suiteferme: | | rst1.Close | | objWord.Quit | | Set rst1 = Nothing | | Set rst = Nothing | | Set Doc = Nothing | | Set objWord = Nothing | | ...... | | |
Bonjour.
Il est dommage que tu n'ais pas regardé l'aide du printout de word.
Background:úlse indique que l'exécution de la procédure doit attendre la
fin de l'impression du document dans word ( la fin de la mise en file
d'attente dans le spooler) et Background:=True (valeur par défaut) que
l'exécution se poursuive pendant l'impression du document dans Microsoft
Word.
voir toutes les option de printout sur :
http://officesystem.access.free.fr/vba/imprimer_doc.htm
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/
Cet été, jen ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99
"Gilbert" <[nospam]gledeuil@cebiphar.com> a écrit dans le message de news:
f7im3m$da8$1@s1.news.oleane.net...
| Bonjour,
| Existe t il une fonction permettant de faire une pause de 3 secondes par
| exemple lors de l'éxécution de code.
| (access 2002)
|
| Le problème que j'ai à résoudre est le suivant :
|
| je lance une impression de tous les documents word dont le chemin est dans
| une table et qui sont classés dans un ordre précis.
| Pour ce faire j'ouvre les documents un par un , imprime referme le
document
| word, ouvre le suivant, imprime....etc.
| ça marche très bien sauf que voilà parfois il arrive que les documents ne
| sortent pas dans l'ordre prédéfini alors que dans la table ils le sont
bien.
|
| Je soupsonne un mélange dans la queue (documents plus lourd les uns que
les
| autres...pas bien mis en évidence quand même).
| Je souhaitais tenter un arrêt de quelques secondes (1,2.. je ne sais pas
| encore) dans mon code pour que les documents aient le temps de s'ouvrir de
| s'imprimer en parti avant de relancer le 2ème document. Ca me permettrai
de
| savoir si mon soupçon est justifié.
|
| Merci pour vos tuyaux...
| Gilbert
|
| Le code utilisé est le suivant :
| .....
|
| Dim rst1 As New Recordset, i1 As Integer, StrLeChemin As String
|
| rst1.ActiveConnection = CurrentProject.Connection
|
| rst1.Open "TblImpressTmp", , adOpenKeyset, adLockOptimistic
|
| Do Until rst1.EOF
|
| StrLeChemin = rst1.Fields("LeChemin")
|
| nbrcopie = rst1.Fields("NbrPageImp")
|
| With objWord
|
| .Visible = False
|
| On Error GoTo suiteferme
|
| Set Doc = .Documents.Add(StrLeChemin)
|
| With Doc.Bookmarks
|
| .Item("sigEtude").Range.Text = strEtude
|
| .Item("sigProduit").Range.Text = strProduit
|
| '.Item("sigDate").Range.Text = strDate
|
| End With
|
| End With
|
| objWord.ActiveDocument.PrintOut _
|
| copies:=nbrcopie
|
|
| objWord.ActiveDocument.Close (False)
|
| rst1.MoveNext
|
| pause
|
| Loop
|
| suiteferme:
|
| rst1.Close
|
| objWord.Quit
|
| Set rst1 = Nothing
|
| Set rst = Nothing
|
| Set Doc = Nothing
|
| Set objWord = Nothing
|
| ......
|
|
|
Background:úlse indique que l'exécution de la procédure doit attendre la fin de l'impression du document dans word ( la fin de la mise en file d'attente dans le spooler) et Background:=True (valeur par défaut) que l'exécution se poursuive pendant l'impression du document dans Microsoft Word.
"Gilbert" <[nospam] a écrit dans le message de news: f7im3m$da8$ | Bonjour, | Existe t il une fonction permettant de faire une pause de 3 secondes par | exemple lors de l'éxécution de code. | (access 2002) | | Le problème que j'ai à résoudre est le suivant : | | je lance une impression de tous les documents word dont le chemin est dans | une table et qui sont classés dans un ordre précis. | Pour ce faire j'ouvre les documents un par un , imprime referme le document | word, ouvre le suivant, imprime....etc. | ça marche très bien sauf que voilà parfois il arrive que les documents ne | sortent pas dans l'ordre prédéfini alors que dans la table ils le sont bien. | | Je soupsonne un mélange dans la queue (documents plus lourd les uns que les | autres...pas bien mis en évidence quand même). | Je souhaitais tenter un arrêt de quelques secondes (1,2.. je ne sais pas | encore) dans mon code pour que les documents aient le temps de s'ouvrir de | s'imprimer en parti avant de relancer le 2ème document. Ca me permettrai de | savoir si mon soupçon est justifié. | | Merci pour vos tuyaux... | Gilbert | | Le code utilisé est le suivant : | ..... | | Dim rst1 As New Recordset, i1 As Integer, StrLeChemin As String | | rst1.ActiveConnection = CurrentProject.Connection | | rst1.Open "TblImpressTmp", , adOpenKeyset, adLockOptimistic | | Do Until rst1.EOF | | StrLeChemin = rst1.Fields("LeChemin") | | nbrcopie = rst1.Fields("NbrPageImp") | | With objWord | | .Visible = False | | On Error GoTo suiteferme | | Set Doc = .Documents.Add(StrLeChemin) | | With Doc.Bookmarks | | .Item("sigEtude").Range.Text = strEtude | | .Item("sigProduit").Range.Text = strProduit | | '.Item("sigDate").Range.Text = strDate | | End With | | End With | | objWord.ActiveDocument.PrintOut _ | | copies:=nbrcopie | | | objWord.ActiveDocument.Close (False) | | rst1.MoveNext | | pause | | Loop | | suiteferme: | | rst1.Close | | objWord.Quit | | Set rst1 = Nothing | | Set rst = Nothing | | Set Doc = Nothing | | Set objWord = Nothing | | ...... | | |
Gilbert
Merci à toi Raymond...
Je vais essayer la solution proposée.
Et non je n'ai pas regardé l'aide du printout de word... J'étais fixé sur un problème access...et je n'ai pas été voir plus loin que le bout de mon nez. Merci encore.
Gilbert
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
Il est dommage que tu n'ais pas regardé l'aide du printout de word.
Background:úlse indique que l'exécution de la procédure doit attendre la fin de l'impression du document dans word ( la fin de la mise en file d'attente dans le spooler) et Background:=True (valeur par défaut) que l'exécution se poursuive pendant l'impression du document dans Microsoft Word.
"Gilbert" <[nospam] a écrit dans le message de news: f7im3m$da8$ | Bonjour, | Existe t il une fonction permettant de faire une pause de 3 secondes par | exemple lors de l'éxécution de code. | (access 2002) | | Le problème que j'ai à résoudre est le suivant : | | je lance une impression de tous les documents word dont le chemin est dans | une table et qui sont classés dans un ordre précis. | Pour ce faire j'ouvre les documents un par un , imprime referme le document | word, ouvre le suivant, imprime....etc. | ça marche très bien sauf que voilà parfois il arrive que les documents ne | sortent pas dans l'ordre prédéfini alors que dans la table ils le sont bien. | | Je soupsonne un mélange dans la queue (documents plus lourd les uns que les | autres...pas bien mis en évidence quand même). | Je souhaitais tenter un arrêt de quelques secondes (1,2.. je ne sais pas | encore) dans mon code pour que les documents aient le temps de s'ouvrir de | s'imprimer en parti avant de relancer le 2ème document. Ca me permettrai de | savoir si mon soupçon est justifié. | | Merci pour vos tuyaux... | Gilbert | | Le code utilisé est le suivant : | ..... | | Dim rst1 As New Recordset, i1 As Integer, StrLeChemin As String | | rst1.ActiveConnection = CurrentProject.Connection | | rst1.Open "TblImpressTmp", , adOpenKeyset, adLockOptimistic | | Do Until rst1.EOF | | StrLeChemin = rst1.Fields("LeChemin") | | nbrcopie = rst1.Fields("NbrPageImp") | | With objWord | | .Visible = False | | On Error GoTo suiteferme | | Set Doc = .Documents.Add(StrLeChemin) | | With Doc.Bookmarks | | .Item("sigEtude").Range.Text = strEtude | | .Item("sigProduit").Range.Text = strProduit | | '.Item("sigDate").Range.Text = strDate | | End With | | End With | | objWord.ActiveDocument.PrintOut _ | | copies:=nbrcopie | | | objWord.ActiveDocument.Close (False) | | rst1.MoveNext | | pause | | Loop | | suiteferme: | | rst1.Close | | objWord.Quit | | Set rst1 = Nothing | | Set rst = Nothing | | Set Doc = Nothing | | Set objWord = Nothing | | ...... | | |
Merci à toi Raymond...
Je vais essayer la solution proposée.
Et non je n'ai pas regardé l'aide du printout de word...
J'étais fixé sur un problème access...et je n'ai pas été voir plus loin que
le bout de mon nez.
Merci encore.
Gilbert
"Raymond [mvp]" <xyzofficesystem.accessxyz@free.fr> a écrit dans le message
de news: OYfmwfJyHHA.3768@TK2MSFTNGP06.phx.gbl...
Bonjour.
Il est dommage que tu n'ais pas regardé l'aide du printout de word.
Background:úlse indique que l'exécution de la procédure doit attendre la
fin de l'impression du document dans word ( la fin de la mise en file
d'attente dans le spooler) et Background:=True (valeur par défaut) que
l'exécution se poursuive pendant l'impression du document dans Microsoft
Word.
voir toutes les option de printout sur :
http://officesystem.access.free.fr/vba/imprimer_doc.htm
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/
Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99
"Gilbert" <[nospam]gledeuil@cebiphar.com> a écrit dans le message de news:
f7im3m$da8$1@s1.news.oleane.net...
| Bonjour,
| Existe t il une fonction permettant de faire une pause de 3 secondes par
| exemple lors de l'éxécution de code.
| (access 2002)
|
| Le problème que j'ai à résoudre est le suivant :
|
| je lance une impression de tous les documents word dont le chemin est
dans
| une table et qui sont classés dans un ordre précis.
| Pour ce faire j'ouvre les documents un par un , imprime referme le
document
| word, ouvre le suivant, imprime....etc.
| ça marche très bien sauf que voilà parfois il arrive que les documents
ne
| sortent pas dans l'ordre prédéfini alors que dans la table ils le sont
bien.
|
| Je soupsonne un mélange dans la queue (documents plus lourd les uns que
les
| autres...pas bien mis en évidence quand même).
| Je souhaitais tenter un arrêt de quelques secondes (1,2.. je ne sais pas
| encore) dans mon code pour que les documents aient le temps de s'ouvrir
de
| s'imprimer en parti avant de relancer le 2ème document. Ca me permettrai
de
| savoir si mon soupçon est justifié.
|
| Merci pour vos tuyaux...
| Gilbert
|
| Le code utilisé est le suivant :
| .....
|
| Dim rst1 As New Recordset, i1 As Integer, StrLeChemin As String
|
| rst1.ActiveConnection = CurrentProject.Connection
|
| rst1.Open "TblImpressTmp", , adOpenKeyset, adLockOptimistic
|
| Do Until rst1.EOF
|
| StrLeChemin = rst1.Fields("LeChemin")
|
| nbrcopie = rst1.Fields("NbrPageImp")
|
| With objWord
|
| .Visible = False
|
| On Error GoTo suiteferme
|
| Set Doc = .Documents.Add(StrLeChemin)
|
| With Doc.Bookmarks
|
| .Item("sigEtude").Range.Text = strEtude
|
| .Item("sigProduit").Range.Text = strProduit
|
| '.Item("sigDate").Range.Text = strDate
|
| End With
|
| End With
|
| objWord.ActiveDocument.PrintOut _
|
| copies:=nbrcopie
|
|
| objWord.ActiveDocument.Close (False)
|
| rst1.MoveNext
|
| pause
|
| Loop
|
| suiteferme:
|
| rst1.Close
|
| objWord.Quit
|
| Set rst1 = Nothing
|
| Set rst = Nothing
|
| Set Doc = Nothing
|
| Set objWord = Nothing
|
| ......
|
|
|
Et non je n'ai pas regardé l'aide du printout de word... J'étais fixé sur un problème access...et je n'ai pas été voir plus loin que le bout de mon nez. Merci encore.
Gilbert
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
Il est dommage que tu n'ais pas regardé l'aide du printout de word.
Background:úlse indique que l'exécution de la procédure doit attendre la fin de l'impression du document dans word ( la fin de la mise en file d'attente dans le spooler) et Background:=True (valeur par défaut) que l'exécution se poursuive pendant l'impression du document dans Microsoft Word.
"Gilbert" <[nospam] a écrit dans le message de news: f7im3m$da8$ | Bonjour, | Existe t il une fonction permettant de faire une pause de 3 secondes par | exemple lors de l'éxécution de code. | (access 2002) | | Le problème que j'ai à résoudre est le suivant : | | je lance une impression de tous les documents word dont le chemin est dans | une table et qui sont classés dans un ordre précis. | Pour ce faire j'ouvre les documents un par un , imprime referme le document | word, ouvre le suivant, imprime....etc. | ça marche très bien sauf que voilà parfois il arrive que les documents ne | sortent pas dans l'ordre prédéfini alors que dans la table ils le sont bien. | | Je soupsonne un mélange dans la queue (documents plus lourd les uns que les | autres...pas bien mis en évidence quand même). | Je souhaitais tenter un arrêt de quelques secondes (1,2.. je ne sais pas | encore) dans mon code pour que les documents aient le temps de s'ouvrir de | s'imprimer en parti avant de relancer le 2ème document. Ca me permettrai de | savoir si mon soupçon est justifié. | | Merci pour vos tuyaux... | Gilbert | | Le code utilisé est le suivant : | ..... | | Dim rst1 As New Recordset, i1 As Integer, StrLeChemin As String | | rst1.ActiveConnection = CurrentProject.Connection | | rst1.Open "TblImpressTmp", , adOpenKeyset, adLockOptimistic | | Do Until rst1.EOF | | StrLeChemin = rst1.Fields("LeChemin") | | nbrcopie = rst1.Fields("NbrPageImp") | | With objWord | | .Visible = False | | On Error GoTo suiteferme | | Set Doc = .Documents.Add(StrLeChemin) | | With Doc.Bookmarks | | .Item("sigEtude").Range.Text = strEtude | | .Item("sigProduit").Range.Text = strProduit | | '.Item("sigDate").Range.Text = strDate | | End With | | End With | | objWord.ActiveDocument.PrintOut _ | | copies:=nbrcopie | | | objWord.ActiveDocument.Close (False) | | rst1.MoveNext | | pause | | Loop | | suiteferme: | | rst1.Close | | objWord.Quit | | Set rst1 = Nothing | | Set rst = Nothing | | Set Doc = Nothing | | Set objWord = Nothing | | ...... | | |