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

Envelopper ça coince

2 réponses
Avatar
YACHT PORT TOULON
'Mes versions: EXCEL 2002 SP-2, VISUAL BASIC 6.3

'Je désir automatiser par Visual Basic l'envoi d'une Sélection d'une feuille
de travail Excel comme corps d'un mail en html (non pas en pièce jointe) à
une adresse avec un objet.

'Manuellement, par le bouton 'Message électronique' de la barre de commande,
c'est parfait

'Mais par Visual Basic, ça coince

'Si on décare Public var As MsoEnvelope sur la Feuil, puis set var =
Application.ActiveSheet.MailEnvelope on obtient la même erreur

'L'exemple de l'aide sur EnvelopeShow ne marche pas non plus

Qu'ai je oublié ? Faut-il sortir du cadre
?, mais où

Sub EnvoiMail(ByVal AdresseMail As String, ObjetMail As String)

Dim Vari As Variant

ThisWorkbook.EnvelopeVisible = True
'ça marche

Application.CommandBars("Envelope").Enabled = False 'ça marche

Application.CommandBars("Envelope").Visible = False
'ça fait pareil

Vari = Application.CommandBars("Envelope").Controls.Count '1 seul
Controls !!!!

ThisWorkbook.Worksheets(1).Range("D6:G20").Activate

With Application.ActiveSheet.MailEnvelope 'ça
coince

'****Erreur d'execution 430

'****La classe ne gère pas Automation ou l'interface
attendue

'l'aide sur MailEvelope ou sur MsoEnvelope ne renseigne pas

.Introduction = "Bonjour, Dites-nous ce que vous en pensez"

.Item.Recipients.Add AdresseMail

.Item.Subject = ObjetMail

.Item.send

End With

ThisWorkbook.EnvelopeVisible = False

End Sub

2 réponses

Avatar
Denis Michon
Bonjour ,

Voici un excellent exemple d'un code source de Microsoft :

adresse : http://support.microsoft.com/?kbid6644

'---------------------------------
Sub Send_Range()

Dim objEnv As MsoEnvelope

' First select the range of cells on the active worksheet.
'
ActiveSheet.Range("A1", "B5").Select
'
' Set current workbook to show the envelope.
'
ThisWorkbook.EnvelopeVisible = True
'
' Set objEnv to the Office envelope object.
'
Set objEnv = ActiveSheet.MailEnvelope
'
' Set the optional introduction field thats adds
' some header text to the email body. It also sets
' the To and Subject lines. Finally the message
' is sent.
'
With objEnv
.Introduction = "This is a sample worksheet."
.Item.To = ""
.Item.Subject = "Toto est malade"
.Item.Send
End With
End Sub
'---------------------------------

Le seul problème c'est que cela ne fonctionne pas comme ces serveurs !!!


Salutations!



"YACHT PORT TOULON" a écrit dans le message de
news:
'Mes versions: EXCEL 2002 SP-2, VISUAL BASIC 6.3

'Je désir automatiser par Visual Basic l'envoi d'une Sélection d'une feuille
de travail Excel comme corps d'un mail en html (non pas en pièce jointe) à
une adresse avec un objet.

'Manuellement, par le bouton 'Message électronique' de la barre de commande,
c'est parfait

'Mais par Visual Basic, ça coince

'Si on décare Public var As MsoEnvelope sur la Feuil, puis set var Application.ActiveSheet.MailEnvelope on obtient la même erreur

'L'exemple de l'aide sur EnvelopeShow ne marche pas non plus

Qu'ai je oublié ? Faut-il sortir du cadre
?, mais où

Sub EnvoiMail(ByVal AdresseMail As String, ObjetMail As String)

Dim Vari As Variant

ThisWorkbook.EnvelopeVisible = True
'ça marche

Application.CommandBars("Envelope").Enabled = False 'ça marche

Application.CommandBars("Envelope").Visible = False
'ça fait pareil

Vari = Application.CommandBars("Envelope").Controls.Count '1 seul
Controls !!!!

ThisWorkbook.Worksheets(1).Range("D6:G20").Activate

With Application.ActiveSheet.MailEnvelope 'ça
coince

'****Erreur d'execution 430

'****La classe ne gère pas Automation ou l'interface
attendue

'l'aide sur MailEvelope ou sur MsoEnvelope ne renseigne pas

.Introduction = "Bonjour, Dites-nous ce que vous en pensez"

.Item.Recipients.Add AdresseMail

.Item.Subject = ObjetMail

.Item.send

End With

ThisWorkbook.EnvelopeVisible = False

End Sub
Avatar
YACHT PORT TOULON
Bonjour à tous,

Ton exemple, Denis est presque le même que le mien trouvé dans l'aide avec
MsoEnvelope
ça coince à Set objEnv = ActiveSheet.MailEnvelope avec l'erreur 430: La
classe ne gère pas Automation ou l'interface attendue
Recherche dans les registres, pas de MailEnvelope, des MsoEnvelope....et
quelques chose
Peut-être n'ai-je pas les bonnes DLL ou OLB, mais lesquelles
Le bouton "Message électronique" marche parfait avec OutLook Express,
peut-être qu'avec MsoEnvelope ce n'est pas le cas

Bon courage

Edgar (aide gare) de Toulon

"Denis Michon" a écrit dans le message de
news:AC_eb.94435$
Bonjour ,

Voici un excellent exemple d'un code source de Microsoft :

adresse : http://support.microsoft.com/?kbid6644

'---------------------------------
Sub Send_Range()

Dim objEnv As MsoEnvelope

' First select the range of cells on the active worksheet.
'
ActiveSheet.Range("A1", "B5").Select
'
' Set current workbook to show the envelope.
'
ThisWorkbook.EnvelopeVisible = True
'
' Set objEnv to the Office envelope object.
'
Set objEnv = ActiveSheet.MailEnvelope
'
' Set the optional introduction field thats adds
' some header text to the email body. It also sets
' the To and Subject lines. Finally the message
' is sent.
'
With objEnv
.Introduction = "This is a sample worksheet."
.Item.To = ""
.Item.Subject = "Toto est malade"
.Item.Send
End With
End Sub
'---------------------------------

Le seul problème c'est que cela ne fonctionne pas comme ces serveurs !!!


Salutations!



"YACHT PORT TOULON" a écrit dans le message
de

news:
'Mes versions: EXCEL 2002 SP-2, VISUAL BASIC 6.3

'Je désir automatiser par Visual Basic l'envoi d'une Sélection d'une
feuille

de travail Excel comme corps d'un mail en html (non pas en pièce jointe) à
une adresse avec un objet.

'Manuellement, par le bouton 'Message électronique' de la barre de
commande,

c'est parfait

'Mais par Visual Basic, ça coince

'Si on décare Public var As MsoEnvelope sur la Feuil, puis set var > Application.ActiveSheet.MailEnvelope on obtient la même erreur

'L'exemple de l'aide sur EnvelopeShow ne marche pas non plus

Qu'ai je oublié ? Faut-il sortir du
cadre

?, mais où

Sub EnvoiMail(ByVal AdresseMail As String, ObjetMail As String)

Dim Vari As Variant

ThisWorkbook.EnvelopeVisible = True
'ça marche

Application.CommandBars("Envelope").Enabled = False 'ça marche

Application.CommandBars("Envelope").Visible = False
'ça fait pareil

Vari = Application.CommandBars("Envelope").Controls.Count '1 seul
Controls !!!!

ThisWorkbook.Worksheets(1).Range("D6:G20").Activate

With Application.ActiveSheet.MailEnvelope
'ça

coince

'****Erreur d'execution 430

'****La classe ne gère pas Automation ou l'interface
attendue

'l'aide sur MailEvelope ou sur MsoEnvelope ne renseigne
pas


.Introduction = "Bonjour, Dites-nous ce que vous en pensez"

.Item.Recipients.Add AdresseMail

.Item.Subject = ObjetMail

.Item.send

End With

ThisWorkbook.EnvelopeVisible = False

End Sub