Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
Om0e0tB8FHA.3636@TK2MSFTNGP09.phx.gbl...
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Merci beaucoup Michel, je ne connaissais pas cet objet Faxserver.
Je vais le tester dès demain et je te dirai si ca passe sous Windows XP /
Excel 2K
En tout cas ça a l'air génial (après 1er tests sans connexion
téléphonique, il n'a pas planté à la création de l'objet Faxserver, donc
il l'a bien).
Je te tiens au courant
1000 mercis!
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Merci beaucoup Michel, je ne connaissais pas cet objet Faxserver.
Je vais le tester dès demain et je te dirai si ca passe sous Windows XP /
Excel 2K
En tout cas ça a l'air génial (après 1er tests sans connexion
téléphonique, il n'a pas planté à la création de l'objet Faxserver, donc
il l'a bien).
Je te tiens au courant
1000 mercis!
"michdenis" <michdenis@hotmail.com> schrieb im Newsbeitrag
news:eVetgXD8FHA.3984@TK2MSFTNGP11.phx.gbl...
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
Om0e0tB8FHA.3636@TK2MSFTNGP09.phx.gbl...
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Merci beaucoup Michel, je ne connaissais pas cet objet Faxserver.
Je vais le tester dès demain et je te dirai si ca passe sous Windows XP /
Excel 2K
En tout cas ça a l'air génial (après 1er tests sans connexion
téléphonique, il n'a pas planté à la création de l'objet Faxserver, donc
il l'a bien).
Je te tiens au courant
1000 mercis!
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
Om0e0tB8FHA.3636@TK2MSFTNGP09.phx.gbl...
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
Om0e0tB8FHA.3636@TK2MSFTNGP09.phx.gbl...
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
%23ETA8EO9FHA.3760@TK2MSFTNGP14.phx.gbl...
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" <michdenis@hotmail.com> schrieb im Newsbeitrag
news:eVetgXD8FHA.3984@TK2MSFTNGP11.phx.gbl...
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
Om0e0tB8FHA.3636@TK2MSFTNGP09.phx.gbl...
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
%23ETA8EO9FHA.3760@TK2MSFTNGP14.phx.gbl...
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" <michdenis@hotmail.com> schrieb im Newsbeitrag
news:eVetgXD8FHA.3984@TK2MSFTNGP11.phx.gbl...
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
Om0e0tB8FHA.3636@TK2MSFTNGP09.phx.gbl...
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
%23ETA8EO9FHA.3760@TK2MSFTNGP14.phx.gbl...
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" <michdenis@hotmail.com> schrieb im Newsbeitrag
news:eVetgXD8FHA.3984@TK2MSFTNGP11.phx.gbl...
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
Om0e0tB8FHA.3636@TK2MSFTNGP09.phx.gbl...
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante ?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
Merci pour ce retour. Et oui, j'avais exploré l'avenue des Sendkeys...
mais je
trouve que cela ne donne pas beaucoup de contrôle sur ce qui s'y passe et
cette méthode est vulnérable (admettons plus que d'autres ;-) )
La combinaison qui suit permet d'envoyer un fax sans l'intervention de
l'usager si
A ) le fax est déjà "l'imprimante" par défaut ...
B ) Dans la suite des fenêtres pour préparer l'expédition du fax
Rendu à la page de garde, la case à cocher doit être coché par défaut
cela rend le choix de la page de garde possible.
Il n'est pas possible par "Sendkeys" de vérifier si oui ou non
cette case est cochée....
{Down 5} -> 5 représente la 5 ième feuille de garde proposée dans la liste
déroulante de la fenêtre. (cela représente pour moi, une page
personnalisée)
'----------------------------
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String, _
numero As String)
Dim keys As String
Dim Objet As String
Dim Note As String
Objet = "Un gros test"
Note = "Est-ce que cela fonctionne"
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & _
numero & "~" & "{Tab}" & "{Down 5}" & Objet & "{Tab}" & Note & _
"~" & "%S" & "~"
SendKeys keys
End Sub
'----------------------------
P.S. Concernant la possibilité d'envoyer une feuille excel, c'est vrai que
la méthode
proposée bloque.. il doit s'agit d'un bug d'automation... car dans
certaines
situations "touble" , il arrive que ça passe. Il doit y avoir une façon
d'y remédier !!!
à suivre ....
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%23IW3Orz%
Salut!
Bon, après tant d'efforts, je me suis résolu à opter pour une autre
méthode.
Donc pour commencer: Désolé Michel, et merci encore malgré tout pour tes
contributions.
Mon soucis est qu'effectivement, je ne vois pas de méthode pour faxer un
document Excel (ça ne plante pas que dans ta config, ça plante aussi avec
la
mienne). Seuls les documents textes (éventuellement word) sont bien faxés.
Donc mon code se résume désormais à ceci:
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String,
numero As String)
Dim keys As String
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & numero
SendKeys keys
End Sub
C'est pas très joli mais ça marche bien.
Il faut qu'un fax soit défini en tant qu'imprimante et qu'il s'appelle
'fax'
Le ^p appelle la fenêtre d'impression
Le %nfax~ active la liste d'imprimantes, les deux ~ passent les écrans de
confirmation puis le nom et le numéro de fax sont virtuellement tappés.
Bien sûr pour ça il faut avoir la même version de Fax et de système sur
tous
les postes utilisateurs. Ce qui est mon cas.
Voilà merci encore Michel, j'espère que tu ne seras pas trop déçu, mais
c'est la seule solution que j'ai trouvée qui fonctionne actuellement.
@+++
"michdenis" schrieb im Newsbeitrag
news:%Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne
ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité
de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources
matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte
que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le
numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante
?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
Merci pour ce retour. Et oui, j'avais exploré l'avenue des Sendkeys...
mais je
trouve que cela ne donne pas beaucoup de contrôle sur ce qui s'y passe et
cette méthode est vulnérable (admettons plus que d'autres ;-) )
La combinaison qui suit permet d'envoyer un fax sans l'intervention de
l'usager si
A ) le fax est déjà "l'imprimante" par défaut ...
B ) Dans la suite des fenêtres pour préparer l'expédition du fax
Rendu à la page de garde, la case à cocher doit être coché par défaut
cela rend le choix de la page de garde possible.
Il n'est pas possible par "Sendkeys" de vérifier si oui ou non
cette case est cochée....
{Down 5} -> 5 représente la 5 ième feuille de garde proposée dans la liste
déroulante de la fenêtre. (cela représente pour moi, une page
personnalisée)
'----------------------------
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String, _
numero As String)
Dim keys As String
Dim Objet As String
Dim Note As String
Objet = "Un gros test"
Note = "Est-ce que cela fonctionne"
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & _
numero & "~" & "{Tab}" & "{Down 5}" & Objet & "{Tab}" & Note & _
"~" & "%S" & "~"
SendKeys keys
End Sub
'----------------------------
P.S. Concernant la possibilité d'envoyer une feuille excel, c'est vrai que
la méthode
proposée bloque.. il doit s'agit d'un bug d'automation... car dans
certaines
situations "touble" , il arrive que ça passe. Il doit y avoir une façon
d'y remédier !!!
à suivre ....
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
%23IW3Orz%23FHA.2320@TK2MSFTNGP11.phx.gbl...
Salut!
Bon, après tant d'efforts, je me suis résolu à opter pour une autre
méthode.
Donc pour commencer: Désolé Michel, et merci encore malgré tout pour tes
contributions.
Mon soucis est qu'effectivement, je ne vois pas de méthode pour faxer un
document Excel (ça ne plante pas que dans ta config, ça plante aussi avec
la
mienne). Seuls les documents textes (éventuellement word) sont bien faxés.
Donc mon code se résume désormais à ceci:
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String,
numero As String)
Dim keys As String
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & numero
SendKeys keys
End Sub
C'est pas très joli mais ça marche bien.
Il faut qu'un fax soit défini en tant qu'imprimante et qu'il s'appelle
'fax'
Le ^p appelle la fenêtre d'impression
Le %nfax~ active la liste d'imprimantes, les deux ~ passent les écrans de
confirmation puis le nom et le numéro de fax sont virtuellement tappés.
Bien sûr pour ça il faut avoir la même version de Fax et de système sur
tous
les postes utilisateurs. Ce qui est mon cas.
Voilà merci encore Michel, j'espère que tu ne seras pas trop déçu, mais
c'est la seule solution que j'ai trouvée qui fonctionne actuellement.
@+++
"michdenis" <michdenis@hotmail.com> schrieb im Newsbeitrag
news:%23057yES9FHA.476@TK2MSFTNGP15.phx.gbl...
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne
ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
%23ETA8EO9FHA.3760@TK2MSFTNGP14.phx.gbl...
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité
de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" <michdenis@hotmail.com> schrieb im Newsbeitrag
news:eVetgXD8FHA.3984@TK2MSFTNGP11.phx.gbl...
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources
matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte
que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
Om0e0tB8FHA.3636@TK2MSFTNGP09.phx.gbl...
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le
numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante
?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
Merci pour ce retour. Et oui, j'avais exploré l'avenue des Sendkeys...
mais je
trouve que cela ne donne pas beaucoup de contrôle sur ce qui s'y passe et
cette méthode est vulnérable (admettons plus que d'autres ;-) )
La combinaison qui suit permet d'envoyer un fax sans l'intervention de
l'usager si
A ) le fax est déjà "l'imprimante" par défaut ...
B ) Dans la suite des fenêtres pour préparer l'expédition du fax
Rendu à la page de garde, la case à cocher doit être coché par défaut
cela rend le choix de la page de garde possible.
Il n'est pas possible par "Sendkeys" de vérifier si oui ou non
cette case est cochée....
{Down 5} -> 5 représente la 5 ième feuille de garde proposée dans la liste
déroulante de la fenêtre. (cela représente pour moi, une page
personnalisée)
'----------------------------
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String, _
numero As String)
Dim keys As String
Dim Objet As String
Dim Note As String
Objet = "Un gros test"
Note = "Est-ce que cela fonctionne"
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & _
numero & "~" & "{Tab}" & "{Down 5}" & Objet & "{Tab}" & Note & _
"~" & "%S" & "~"
SendKeys keys
End Sub
'----------------------------
P.S. Concernant la possibilité d'envoyer une feuille excel, c'est vrai que
la méthode
proposée bloque.. il doit s'agit d'un bug d'automation... car dans
certaines
situations "touble" , il arrive que ça passe. Il doit y avoir une façon
d'y remédier !!!
à suivre ....
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%23IW3Orz%
Salut!
Bon, après tant d'efforts, je me suis résolu à opter pour une autre
méthode.
Donc pour commencer: Désolé Michel, et merci encore malgré tout pour tes
contributions.
Mon soucis est qu'effectivement, je ne vois pas de méthode pour faxer un
document Excel (ça ne plante pas que dans ta config, ça plante aussi avec
la
mienne). Seuls les documents textes (éventuellement word) sont bien faxés.
Donc mon code se résume désormais à ceci:
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String,
numero As String)
Dim keys As String
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & numero
SendKeys keys
End Sub
C'est pas très joli mais ça marche bien.
Il faut qu'un fax soit défini en tant qu'imprimante et qu'il s'appelle
'fax'
Le ^p appelle la fenêtre d'impression
Le %nfax~ active la liste d'imprimantes, les deux ~ passent les écrans de
confirmation puis le nom et le numéro de fax sont virtuellement tappés.
Bien sûr pour ça il faut avoir la même version de Fax et de système sur
tous
les postes utilisateurs. Ce qui est mon cas.
Voilà merci encore Michel, j'espère que tu ne seras pas trop déçu, mais
c'est la seule solution que j'ai trouvée qui fonctionne actuellement.
@+++
"michdenis" schrieb im Newsbeitrag
news:%Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne
ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité
de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources
matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte
que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le
numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante
?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
Merci pour ce retour. Et oui, j'avais exploré l'avenue des Sendkeys...
mais je
trouve que cela ne donne pas beaucoup de contrôle sur ce qui s'y passe et
cette méthode est vulnérable (admettons plus que d'autres ;-) )
La combinaison qui suit permet d'envoyer un fax sans l'intervention de
l'usager si
A ) le fax est déjà "l'imprimante" par défaut ...
B ) Dans la suite des fenêtres pour préparer l'expédition du fax
Rendu à la page de garde, la case à cocher doit être coché par défaut
cela rend le choix de la page de garde possible.
Il n'est pas possible par "Sendkeys" de vérifier si oui ou non
cette case est cochée....
{Down 5} -> 5 représente la 5 ième feuille de garde proposée dans la liste
déroulante de la fenêtre. (cela représente pour moi, une page
personnalisée)
'----------------------------
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String, _
numero As String)
Dim keys As String
Dim Objet As String
Dim Note As String
Objet = "Un gros test"
Note = "Est-ce que cela fonctionne"
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & _
numero & "~" & "{Tab}" & "{Down 5}" & Objet & "{Tab}" & Note & _
"~" & "%S" & "~"
SendKeys keys
End Sub
'----------------------------
P.S. Concernant la possibilité d'envoyer une feuille excel, c'est vrai que
la méthode
proposée bloque.. il doit s'agit d'un bug d'automation... car dans
certaines
situations "touble" , il arrive que ça passe. Il doit y avoir une façon
d'y remédier !!!
à suivre ....
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%23IW3Orz%
Salut!
Bon, après tant d'efforts, je me suis résolu à opter pour une autre
méthode.
Donc pour commencer: Désolé Michel, et merci encore malgré tout pour tes
contributions.
Mon soucis est qu'effectivement, je ne vois pas de méthode pour faxer un
document Excel (ça ne plante pas que dans ta config, ça plante aussi avec
la
mienne). Seuls les documents textes (éventuellement word) sont bien faxés.
Donc mon code se résume désormais à ceci:
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String,
numero As String)
Dim keys As String
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & numero
SendKeys keys
End Sub
C'est pas très joli mais ça marche bien.
Il faut qu'un fax soit défini en tant qu'imprimante et qu'il s'appelle
'fax'
Le ^p appelle la fenêtre d'impression
Le %nfax~ active la liste d'imprimantes, les deux ~ passent les écrans de
confirmation puis le nom et le numéro de fax sont virtuellement tappés.
Bien sûr pour ça il faut avoir la même version de Fax et de système sur
tous
les postes utilisateurs. Ce qui est mon cas.
Voilà merci encore Michel, j'espère que tu ne seras pas trop déçu, mais
c'est la seule solution que j'ai trouvée qui fonctionne actuellement.
@+++
"michdenis" schrieb im Newsbeitrag
news:%Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne
ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité
de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources
matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte
que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le
numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante
?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
Merci pour ce retour. Et oui, j'avais exploré l'avenue des Sendkeys...
mais je
trouve que cela ne donne pas beaucoup de contrôle sur ce qui s'y passe et
cette méthode est vulnérable (admettons plus que d'autres ;-) )
La combinaison qui suit permet d'envoyer un fax sans l'intervention de
l'usager si
A ) le fax est déjà "l'imprimante" par défaut ...
B ) Dans la suite des fenêtres pour préparer l'expédition du fax
Rendu à la page de garde, la case à cocher doit être coché par défaut
cela rend le choix de la page de garde possible.
Il n'est pas possible par "Sendkeys" de vérifier si oui ou non
cette case est cochée....
{Down 5} -> 5 représente la 5 ième feuille de garde proposée dans la liste
déroulante de la fenêtre. (cela représente pour moi, une page
personnalisée)
'----------------------------
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String, _
numero As String)
Dim keys As String
Dim Objet As String
Dim Note As String
Objet = "Un gros test"
Note = "Est-ce que cela fonctionne"
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & _
numero & "~" & "{Tab}" & "{Down 5}" & Objet & "{Tab}" & Note & _
"~" & "%S" & "~"
SendKeys keys
End Sub
'----------------------------
P.S. Concernant la possibilité d'envoyer une feuille excel, c'est vrai que
la méthode
proposée bloque.. il doit s'agit d'un bug d'automation... car dans
certaines
situations "touble" , il arrive que ça passe. Il doit y avoir une façon
d'y remédier !!!
à suivre ....
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
%23IW3Orz%23FHA.2320@TK2MSFTNGP11.phx.gbl...
Salut!
Bon, après tant d'efforts, je me suis résolu à opter pour une autre
méthode.
Donc pour commencer: Désolé Michel, et merci encore malgré tout pour tes
contributions.
Mon soucis est qu'effectivement, je ne vois pas de méthode pour faxer un
document Excel (ça ne plante pas que dans ta config, ça plante aussi avec
la
mienne). Seuls les documents textes (éventuellement word) sont bien faxés.
Donc mon code se résume désormais à ceci:
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String,
numero As String)
Dim keys As String
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & numero
SendKeys keys
End Sub
C'est pas très joli mais ça marche bien.
Il faut qu'un fax soit défini en tant qu'imprimante et qu'il s'appelle
'fax'
Le ^p appelle la fenêtre d'impression
Le %nfax~ active la liste d'imprimantes, les deux ~ passent les écrans de
confirmation puis le nom et le numéro de fax sont virtuellement tappés.
Bien sûr pour ça il faut avoir la même version de Fax et de système sur
tous
les postes utilisateurs. Ce qui est mon cas.
Voilà merci encore Michel, j'espère que tu ne seras pas trop déçu, mais
c'est la seule solution que j'ai trouvée qui fonctionne actuellement.
@+++
"michdenis" <michdenis@hotmail.com> schrieb im Newsbeitrag
news:%23057yES9FHA.476@TK2MSFTNGP15.phx.gbl...
Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne
ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
%23ETA8EO9FHA.3760@TK2MSFTNGP14.phx.gbl...
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité
de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" <michdenis@hotmail.com> schrieb im Newsbeitrag
news:eVetgXD8FHA.3984@TK2MSFTNGP11.phx.gbl...
Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources
matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte
que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" <jer_kjr@hotmail.com> a écrit dans le message de news:
Om0e0tB8FHA.3636@TK2MSFTNGP09.phx.gbl...
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le
numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante
?
Je suis sous Excel 2000.
Merci!
Jérémie
Bonjour Jérémie,
Merci pour ce retour. Et oui, j'avais exploré l'avenue des Sendkeys...
mais je
trouve que cela ne donne pas beaucoup de contrôle sur ce qui s'y passe et
cette méthode est vulnérable (admettons plus que d'autres ;-) )
La combinaison qui suit permet d'envoyer un fax sans l'intervention de
l'usager si
A ) le fax est déjà "l'imprimante" par défaut ...
B ) Dans la suite des fenêtres pour préparer l'expédition du fax
Rendu à la page de garde, la case à cocher doit être coché par défaut
cela rend le choix de la page de garde possible.
Il n'est pas possible par "Sendkeys" de vérifier si oui ou non
cette case est cochée....
{Down 5} -> 5 représente la 5 ième feuille de garde proposée dans la liste
déroulante de la fenêtre. (cela représente pour moi, une page
personnalisée)
'----------------------------
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String, _
numero As String)
Dim keys As String
Dim Objet As String
Dim Note As String
Objet = "Un gros test"
Note = "Est-ce que cela fonctionne"
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & _
numero & "~" & "{Tab}" & "{Down 5}" & Objet & "{Tab}" & Note & _
"~" & "%S" & "~"
SendKeys keys
End Sub
'----------------------------
P.S. Concernant la possibilité d'envoyer une feuille excel, c'est vrai que
la méthode
proposée bloque.. il doit s'agit d'un bug d'automation... car dans
certaines
situations "touble" , il arrive que ça passe. Il doit y avoir une façon
d'y remédier !!!
à suivre ....
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%23IW3Orz%
Salut!
Bon, après tant d'efforts, je me suis résolu à opter pour une autre
méthode.
Donc pour commencer: Désolé Michel, et merci encore malgré tout pour tes
contributions.
Mon soucis est qu'effectivement, je ne vois pas de méthode pour faxer un
document Excel (ça ne plante pas que dans ta config, ça plante aussi avec
la
mienne). Seuls les documents textes (éventuellement word) sont bien faxés.
Donc mon code se résume désormais à ceci:
Public Sub FaxeFeuille(FeuilleAFaxer As String, destinataire As String,
numero As String)
Dim keys As String
Worksheets(FeuilleAFaxer).Select
keys = "^p%nfax~~~" & destinataire & "{TAB}{TAB}" & numero
SendKeys keys
End Sub
C'est pas très joli mais ça marche bien.
Il faut qu'un fax soit défini en tant qu'imprimante et qu'il s'appelle
'fax'
Le ^p appelle la fenêtre d'impression
Le %nfax~ active la liste d'imprimantes, les deux ~ passent les écrans de
confirmation puis le nom et le numéro de fax sont virtuellement tappés.
Bien sûr pour ça il faut avoir la même version de Fax et de système sur
tous
les postes utilisateurs. Ce qui est mon cas.
Voilà merci encore Michel, j'espère que tu ne seras pas trop déçu, mais
c'est la seule solution que j'ai trouvée qui fonctionne actuellement.
@+++
"michdenis" schrieb im Newsbeitrag
news:%Bonjour Jérémie,
A) sur mon système, la procédure envoie sans difficulté des fichiers
texte.... mais elle n'aime pas des fichiers XLS.
Excel devient alors à demi paralysé. J'ai probablement un ou des éléments
de ma configuration qu'il n'aime pas!!!
À moins qu'il n'aime pas lui aussi Excel 2003.)
(Windows XP pro et Excel 2003)
A) pour faxer seulement une feuille, tu la copies dans vers un nouveau
classeur et tu l'enregistres.
B) - Y a-t-il une possibilité avec l'objet faxserver d'ouvrir
l'assistant...
J'ai regardé dans l'explorateur d'objet, les méthodes et propriétés
disponibles ... et à première vue, ce que tu demandes semble non
réalisable.
C ) Suggestion :
Il est possible d'utiliser une page couverture pour l'envoi d'un fax avec
la procédure que je t'ai proposée. Il s'agit d'ajouter une
ou deux lignes de codes! Cependant, il n'est pas possible (pour ce que
j'en sais) d'arrêter le processus d'envoi du fax pour
afficher par exemple la page couverture avec les données déjà saisies en
fonction par exemple des informations contenues dans
certaines cellules de la feuille de calcul.
Si cela t'intéresse, voici ce que je te propose :
à partir du panneau de configuration : Console de la télécopie, tu peux
éditer à partir de cette dernière, une page couverture
personnalisée ou utilisée une des 4 pages de couvertures déjà présentes
dans Windows. Ces pages se situent là :
C : Documents and SettingsAll UsersApplication DataMicrosoftWindows
NTMSFaxCommon Coverpages
Par exemple : les champs dans le modèle urgent sont :
société expéditeur, adresse de l'expéditeur
Destinataire : Son nom , No du télécopieur :
Nom Expéditeur : , No du télécopieur :
No de Tel. bureau, No de Tel. domicile
Pages : Nombre de pages
Date/heure :
Objet :
Remarque:
Sachant ce qui précède, tu peux te construire un formulaire (userform)
avec exactement les mêmes champs ou ceux que tu as retenus
dans un modèle de page couverture.... il s'agit alors de remplir les
textbox du formulaire comme si tu était dans la page
couverture. Tu crées un bouton "Send" dans ton formulaire et lorsque tu
cliques dessus, la procédure faxant le fichier et les notes
s'exécute.
Tous les champs que tu peux ajouter à une page couverture (extension .
cov) peuvent être renseignés directement dans la procédure
que j'ai soumise sur ce fil. Quels sont-ils et comment les ajouter?
A ) dans la fenêtre VBA, barre des menus/outils/références/
tu ajoute, la référence "FaxCom type 1.0 librairy"
B) Un clic sur le bouton "Explorateur d'objets"
C ) Liste déroulante : Toutes les bibliothèques, tu choisis : "FaxComLib"
dans la liste des objets, tu cliques sur FaxDoc et tu obtiendras tous
les champs possibles.
D ) dans la procédure, il y a déjà un objet FaxDoc, le résultat donne
ceci
:
FaxDoc.FaxNumber = FaxNo
FaxDoc.SenderCompany = "454541555"
FaxDoc.SenderFax = "4545454545"
FaxDoc.SenderHomePhone = "56455646",
etc..
Résultat : Si lors de l'envoi d'un fax, on ne peut arrêter le processus,
avec l'affichage de tous les champs dans le formulaire
(userform)..., il est possible de voir les informations qui composent le
fax et sur un seul clic, tu envoies le fax.
Les informations sur les "fax" en attente ou ceux expédiés sont
disponibles dans la console de télécopie.
À partir de ton formulaire, tu peux utiliser cette ligne de commande pour
ouvrir la console :
'Sous Windows XP pro.
'-------------------
Sub console ()
Shell "c : Windowssystem32fxsclnt.exe", vbNormalNoFocus
End Sub
'-------------------
J'espère que tu as suffisamment d'informations pour construire un super
petit programme que tu voudras bien partager avec la
communauté !
Salutations!
"Jérémie Gent" a écrit dans le message de news:
%
OK Cela marche vraiment bien, merci!
Donc également avec la config Windows XP / Excel 2000.
J'aurais juste deux questions supplémentaires:
- Ton code permet de faxer un fichier, mais je souhaiterais en fait ne
faxer
qu'une seule worksheet de mon fichier Excel qui exécute ce code, dois-je
en
faire un fichier à part (donc le créer et le sauvegarder à la volée avec
uniquement la worksheet concernée dedans) ou as tu une idée plus propre ?
- Y a-t-il une possibilité avec l'objet faxserver d'ouvrir l'assistant de
fax avec les paramètres remplis et d'attendre une confirmation manuelle
pour
l'envoi (actuellement, le fax est envoyé automatiquement) + possibilité
de
corriger le numéro de fax si besoin est. Cela dit, je peux aussi faire ma
confirmation indépendamment de l'assistant avant d'appeler la méthode
Send
de FaxDoc.
Merci en tout cas, c'est vraiment bien
Jérémie
"michdenis" schrieb im Newsbeitrag
news:Bonjour Gérémie,
Essaie ceci :
Ne tient pas compte de la bibliothèque à ajouter.
Ceci est fonctionnel soit Windows XP et Excel 2003
Pour les autres versions d'Excel et du système d'exploitation,
je n'ai pas eu la chance de tester!
P.-S. Si certains testent cette procédure avec des ressources
matérielles
autres que celles mentionnées, ce serait gentil de retourner
l'information
si la procédure est opérationnelle.
'-------------------------
Sub test()
'L'expéditeur, fichier envoyé,No de fax, Nom du destinataire
'Évidemment, tu peux remplacer ces paramètres par des informations
émanant
'de cellules de ta feuille de calcul. Cependant, tu dois tenir compte
que
chaque
'parmètre doit être une chaîne de caractères de type "String" ou une
variable
'déclarée As String contenant l'information à passer.
SendFax Environ("computerName"), "c:Texte.txt", "7963446", "Daniel"
End Sub
'-------------------------
'Faxcom 1.0 Type Library
'ServName name of your computer
'DocName document which you want to send, in your case it's Report
'FaxNo Fax number where you want the fax to be delivered
'---------------------------------------
Public Function SendFax(ServName As String, DocName As String, _
FaxNo As String, RecName As String) As String
'varable for FAX Server
Dim FaxServer As Object ' FAXCOMLib.FaxServer
Dim FaxDoc As Object ' FAXCOMLib.FaxDoc
'on error execution jumps to lable ErrSendFax
On Error GoTo ErrSendFax
'Create FaxServer object...
Set FaxServer = CreateObject("FaxServer.FaxServer")
'...and connect to it - no empty name allowed
FaxServer.Connect (ServName)
'Attaches document for sending FAX
Set FaxDoc = FaxServer.CreateDocument(DocName)
'Recepent FAX Number
FaxDoc.FaxNumber = FaxNo
'Recepent Name
FaxDoc.RecipientName = RecName
'Sends FAX using telephone which must be connected to FAX MODEM
FaxDoc.Send
'Kills FaxDoc Object
Set FaxDoc = Nothing
'Connection is Terminated
FaxServer.Disconnect
'Kills FaxServer object
Set FaxServer = Nothing
'Message is sent Back to calling function
SendFax = ""
Exit Function
'on error execution jumps here
ErrSendFax:
'Message is sent back to calling function
SendFax = "n"
End Function
'---------------------------------------
Salutations!
"Jérémie Gent" a écrit dans le message de news:
Bonjour!
J'ai un fichier excel contenant une facture. Sur cette facture, le
numéro
de
fax du client est renseigné. Je souhaiterais que l'utilisateur puisse
cliquer sur un bouton et que l'assistant de fax apparaisse alors avec le
numéro de fax du client déjà renseigné (pour éviter les erreurs de
saisies
manuelles).
J'utilise la fonction printout du workbook qui me permet de sélctionner
le
fax comme imprimante, mais je ne peux pas lui donner de numéro de fax.
Y a-t-il un moyen de le faire sans avoir à acheter une api indépendante
?
Je suis sous Excel 2000.
Merci!
Jérémie