[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Problèmes Access des débutants - Problèmes Access des débutants


actif  Sujet n° 407  Deux pces jointes avec SendObject

le 05/10/2010 : 20:38
par Polux

Anonyme

visiteur

Bonsoir, Voilà, je voulais savoir s'il était possible d'envoyer deux états avec une seule commande SendObject et donc d'avoir un seul e-mail avec deux pièces jointes ? Merci d'avance !
Ecrire à Polux   Poster une réponse  Haut

[]   

DébutPrécédent [ 1 2 3 ] SuivantFin
Réponse n° 1
--------
le 05/10/2010 : 21:33
par 3Stone

Anonyme

Administrateur

Bonsoir,

Essaie en renseignant les deux objets séparés par un point virgule.

Cordialement,
Pierre(3stone)
  Poster une réponse  Haut
Réponse n° 2
--------
le 05/10/2010 : 22:31
par Polux

Anonyme

visiteur

Bonsoir,

Je viens d'essayer ce code ci-dessous mais il doit y avoir une grossière erreur !

Code :
Private Sub Commande58_Click()
On Error GoTo Err_Commande58_Click
Dim stDocName
stDocName = "ServiluxXlsGARANTIE";"ServiluxXlsHorsGarantie"
DoCmd.SendObject acSendReport, stDocName
Exit_Commande58_Click:
Exit Sub
Err_Commande58_Click:
MsgBox Err.Description
Resume Exit_Commande58_Click

End Sub
Merci d'avance !
Ecrire à Polux   Poster une réponse  Haut
Réponse n° 3
--------
le 05/10/2010 : 22:49
par 3Stone

Anonyme

Administrateur

Bonsoir,

Plutôt :

stDocName = "ServiluxXlsGARANTIE;ServiluxXlsHorsGarantie"

Cordialement,
Pierre(3stone)
  Poster une réponse  Haut
Réponse n° 4
--------
le 06/10/2010 : 07:00
par Polux

Anonyme

visiteur

Bonjour,

Avec cette syntaxe j'obtiens un message:

Le nom d'état "ServiluxXlsGARANTIE;ServiluxXlsHorsGarantie" entré dans la feuille de propriétés ou dans une macro est mal orthographié ou fait référence à un état inexistant.

Merci d'avance !

Ecrire à Polux   Poster une réponse  Haut
Réponse n° 5
--------
le 07/10/2010 : 15:19
par 3Stone

Anonyme

Administrateur

Bonjour,

En fait, je viens de relire avec un peu plus d'attention ta question originale:
 
Citation :

je voulais savoir s'il était possible d'envoyer deux états avec une seule commande SendObject

 
C'est simple: tu ne peux pas envoyer un état, en tout cas pas ce que tu voies lorsque tu exécutes un état.

D'abord, SendObject est trop "rigide" pour pouvoir l'influencer beaucoup et en second lieu, pour envoyer un état, il faut d'abord le sauver sous une forme quelconque. Je te conseillerai le PDF.
Ensuite, il est simple d'envoyer ces PDF en fichiers joints. Les fonctions ne manques pas [1] , [2]

Cordialement,
Pierre(3stone)
  Poster une réponse  Haut
Réponse n° 6
--------
le 07/10/2010 : 21:44
par Polux

Anonyme

visiteur

Bonsoir,

En réalité je souhaite pouvoir en 1 click exporter deux états au format Excel soit un e-mail avec deux pièces jointes.

Le code que j'utilise actuellement est celui-ci mais nécessite l'envoi de 2 courrier e-mail et fonctionne très bien.

Code :
Private Sub Commande58_Click()
On Error GoTo Err_Commande58_Click
MsgBox ("Sélectionner le format EXCEL")
Dim stDocName
Dim stDocName1
stDocName = "ServiluxXlsGARANTIE"
stDocName1 = "ServiluxXlsHorsGarantie"
DoCmd.SendObject acSendReport, stDocName
DoCmd.SendObject acSendReport, stDocName1
Exit_Commande58_Click:
Exit Sub
Err_Commande58_Click:
MsgBox Err.Description
Resume Exit_Commande58_Click

End Sub

J'aurais aussi voulu savoir s'il était possible (Vu que je n'en sais rien du tout....y ) via une commande vba de fusionner les deux états dans un seul fichier Excel puis l'envoi avec sendObject ?

J'ai regardé les deux liens proposés mais tout celà est encore fort chinois pour moi.... 

Encore merci ! 

Ecrire à Polux   Poster une réponse  Haut
Réponse n° 7
--------
le 08/10/2010 : 01:55
par 3Stone

Anonyme

Administrateur

Salut,

Le fait d'utiliser deux fois "SendObject"... envoie évidement deux messages!

Par contre, tu peux exporter les deux états sous format Excel et ensuite les envoyer en fichier joint en utilisant cette fonction.

Il faut juste modifier un peu la fonction, et ajouter une seconde ligne ".Attachements.Add", ce qui donne quelque chose comme :

'Exporter
DoCmd.OutputTo acOutputReport, "état1", "acFormatXLS", "C:\Fichier1.xls"
DoCmd.OutputTo acOutputReport, "état2", "acFormatXLS", "C:\Fichier2.xls"

'Envoyer
SendMailAutomation


'et placer la fonction dans un module général (ou sous le formulaire, mais elle ne sera utilisable que dans ce formulaire)

Sub SendMailAutomation()
    Dim Ol_App As New Outlook.Application
    Dim Ol_Item As Outlook.MailItem
    Set Ol_Item = Ol_App.CreateItem(olMailItem)
    '
    With Ol_Item
        .To = "destinataire@domaine.fr"
        .Subject = "L'objet du message"
        .Body = "Le corps du message"
        .Attachments.add "C:\Fichier1.xls"
        .Attachments.add "C:\Fichier2.xls"
        .Save
        .Send
    End With
    '
    Set Ol_Item = Nothing
    Set Ol_App = Nothing
End Sub

Cordialement,
Pierre(3stone)
  Poster une réponse  Haut
Réponse n° 8
--------
le 25/10/2010 : 22:14
par Polux

Anonyme

visiteur

Bonsoir Pierre,

J'essaye l'export de l'état avec la commande comme préciser précédemment

Citation : Pierre

DoCmd.OutputTo acOutputReport, "état1", "acFormatXLS", "C:\Fichier1.xls"

Et j'obtiens le message:

Le format d'exportation de l'objet sélectionné n'est pas disponible.

N'y a t-il pas une référence à activer ?....

Merci d'avance.

Ecrire à Polux   Poster une réponse  Haut
DébutPrécédent [ 1 2 3 ] SuivantFin
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut