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

signification erreur VB ?

5 réponses
Avatar
gilles
)bonjour,
sur une feuille, un code (par CDO, issu de Ron de BRUIN , fichier:
CDO_Example_Code.xls) qui envoit une feuille par mail, et le même code
légèrement modifié pour que le destinataire porte un commentaire et en
cliquant sur un bouton, renvoit directement à l'emetteur la feuille modifiée.
en l'envoyant sur outlook ça marche
en l'envoyant sur une boite GMAIL le fait de cliquer sur le bouton retour
génère ce message:

microsoft visual basic
erreur d'execution '--2147220960 (80040220)':
la valeur de configuration "SendUsing" est non valide.

l'extrait de code concerné:
.TextBody = "bonjour"
.AddAttachment TempFilePath & TempFileName & FileExtStr
.Send
.Subject = "retour fiche appréciation " & [C14].Value

Y en a t-y qui verrait si ça vient de l'application messagerie?
Merci

gilles72

--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...

5 réponses

Avatar
Daniel.C
Bonjour.
Peux-tu poster ton code entier, ou au moins la partie qui concerne
l'envoi par CDO.
Cordialement.
Daniel

)bonjour,
sur une feuille, un code (par CDO, issu de Ron de BRUIN , fichier:
CDO_Example_Code.xls) qui envoit une feuille par mail, et le même code
légèrement modifié pour que le destinataire porte un commentaire et en
cliquant sur un bouton, renvoit directement à l'emetteur la feuille modifiée.
en l'envoyant sur outlook ça marche
en l'envoyant sur une boite GMAIL le fait de cliquer sur le bouton retour
génère ce message:

microsoft visual basic
erreur d'execution '--2147220960 (80040220)':
la valeur de configuration "SendUsing" est non valide.

l'extrait de code concerné:
.TextBody = "bonjour"
.AddAttachment TempFilePath & TempFileName & FileExtStr
.Send
.Subject = "retour fiche appréciation " & [C14].Value

Y en a t-y qui verrait si ça vient de l'application messagerie?
Merci

gilles72


Avatar
Daniel.C
Mais en fouillant un peu sur internet, ça voudrait dire que tu n'as pas
configuré ton serveur SMTP (nom et mot de passe)
Il faudrait ajouter :

With Flds

.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
= "smtp.free.fr"

.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25

.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")
= 1

.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") =
"ton "

.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") =
"motdepasse"
'avis de lecture

iConf.Fields("urn:schemas:mailheader:disposition-notification-to") = _
""
iConf.Fields("urn:schemas:mailheader:return-receipt-to") = _
"ton "
.Update
End With

Daniel

)bonjour,
sur une feuille, un code (par CDO, issu de Ron de BRUIN , fichier:
CDO_Example_Code.xls) qui envoit une feuille par mail, et le même code
légèrement modifié pour que le destinataire porte un commentaire et en
cliquant sur un bouton, renvoit directement à l'emetteur la feuille modifiée.
en l'envoyant sur outlook ça marche
en l'envoyant sur une boite GMAIL le fait de cliquer sur le bouton retour
génère ce message:

microsoft visual basic
erreur d'execution '--2147220960 (80040220)':
la valeur de configuration "SendUsing" est non valide.

l'extrait de code concerné:
.TextBody = "bonjour"
.AddAttachment TempFilePath & TempFileName & FileExtStr
.Send
.Subject = "retour fiche appréciation " & [C14].Value

Y en a t-y qui verrait si ça vient de l'application messagerie?
Merci

gilles72


Avatar
Daniel.C
Pour être plus explicite, d'après les explications de Ron De Bruin, CDO
récupère ces informations dans OutlookExpress ou Windows Mail. Si tu
n'as configuré aucun des deux, il faut passer ces infos en paramètre.
Daniel

Mais en fouillant un peu sur internet, ça voudrait dire que tu n'as pas
configuré ton serveur SMTP (nom et mot de passe)
Il faudrait ajouter :

With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
= "smtp.free.fr"

.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername")
= "ton "
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword")
= "motdepasse"
'avis de lecture
iConf.Fields("urn:schemas:mailheader:disposition-notification-to") =
_
""
iConf.Fields("urn:schemas:mailheader:return-receipt-to") = _
"ton "
.Update
End With

Daniel

)bonjour,
sur une feuille, un code (par CDO, issu de Ron de BRUIN , fichier:
CDO_Example_Code.xls) qui envoit une feuille par mail, et le même code
légèrement modifié pour que le destinataire porte un commentaire et en
cliquant sur un bouton, renvoit directement à l'emetteur la feuille
modifiée.
en l'envoyant sur outlook ça marche
en l'envoyant sur une boite GMAIL le fait de cliquer sur le bouton retour
génère ce message:

microsoft visual basic
erreur d'execution '--2147220960 (80040220)':
la valeur de configuration "SendUsing" est non valide.

l'extrait de code concerné:
.TextBody = "bonjour"
.AddAttachment TempFilePath & TempFileName & FileExtStr
.Send
.Subject = "retour fiche appréciation " & [C14].Value

Y en a t-y qui verrait si ça vient de l'application messagerie?
Merci

gilles72




Avatar
gilles
Bonjour Daniel
merci de ta réponse, qui, hélas ne va sans doute pas me servir; je
t'explique pourquoi:
LE PROBLEME:
je ne sais pas de quelles applic de messagerie disposent les clients.
C'est un fichier qu'une collègue envoit (outlook2007) à des clients pour
mesurer leur appréciation après travaux.
elle l'envoit depuis un bouton qui actionne le code de Ron de Bruin
sur cette feuille, il y a un autre bouton qui permet au client de retouner
directement à ma collègue la feuille qu'il a complétée avant.
Pour ça, j'ai fait une copie du code , et avec l'aide d'Isabelle et
Michdenis, je l'ai placé dans une private sub qui retourne le fichier à ma
collègue
LE PROBLEME:
je ne sais pas de quelles applic de messagerie disposent les clients
Il y a très peu de chance que ce soit GMAIL, mais pas de pot, en faisant les
tests avec des stagiaires je m'aperçois qu' avec GMAIL, ça coince
Merci donc de ton aide, mais je ne peux pas rentrer les coordonnées que je
ne connais pas
ci-dessous le code
MERCI encore

Private Sub CommandButton2_Click()
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim iMsg As Object
Dim iConf As Object
Dim ws As Worksheet
' Dim Flds As Variant

With Application
.ScreenUpdating = False
.EnableEvents = False
End With

Set Sourcewb = ActiveWorkbook

'Copy the ActiveSheet to a new workbook
ActiveSheet.Copy

'Or if you want to copy more then one sheet use:
'Sourcewb.Sheets(Array("Sheet1", "Sheet3")).Copy

Set Destwb = ActiveWorkbook



'Determine the Excel version and file extension/format
With Destwb
If Val(Application.Version) < 12 Then
'You use Excel 97-2003
FileExtStr = ".xls": FileFormatNum = -4143
Else
'You use Excel 2007
'We exit the sub when your answer is NO in the security dialog
that you only
'see when you copy a sheet from a xlsm file with macro's
disabled.
If Sourcewb.Name = .Name Then
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
MsgBox "Your answer is NO in the security dialog"
Exit Sub
Else
Select Case Sourcewb.FileFormat
Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
Case 52:
If .HasVBProject Then
FileExtStr = ".xlsm": FileFormatNum = 52
Else
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Case 56: FileExtStr = ".xls": FileFormatNum = 56
Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
End Select
End If
End If
End With

' 'Change all cells in Destwb to values if you want
' For Each sh In Destwb.Worksheets
' sh.Select
' With sh.UsedRange
' .Cells.Copy
' .Cells.PasteSpecial xlPasteValues
' .Cells(1).Select
' End With
' Application.CutCopyMode = False
' Next sh
' Destwb.Worksheets(1).Select


'Save the new workbook/Mail it/Delete it


TempFilePath = Environ$("temp") & ""
TempFileName = "RETOUR de " & Sourcewb.Name & " " & Format(Now,
"dd-mmm-yy h-mm-ss")

With Destwb
.SaveAs TempFilePath & TempFileName & FileExtStr,
FileFormat:=FileFormatNum
.Close savechanges:úlse
End With

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")

' iConf.Load -1 ' CDO Source Defaults
' Set Flds = iConf.Fields
' With Flds
'
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "Fill in
your SMTP server here"
'
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
' .Update
' End With
'Set ws = activeWorksheet
With iMsg
Set .Configuration = iConf
' .To = ""
'.To = ""
.To = Range("h17").Value
.CC = ""
.BCC = ""
'.From = """LEROY Gilles"""
' .Subject = "This is a test"

.TextBody = "bonjour"
.AddAttachment TempFilePath & TempFileName & FileExtStr
.Send
.Subject = "retour fiche appréciation " & [C14].Value ' ça colle

' .HTMLBody = RangetoHTML(rng)
' .Send





End With


'Delete the file you have send
Kill TempFilePath & TempFileName & FileExtStr

With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub



"Daniel.C" a écrit :

Mais en fouillant un peu sur internet, ça voudrait dire que tu n'as pas
configuré ton serveur SMTP (nom et mot de passe)
Il faudrait ajouter :

With Flds

..Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

..Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
= "smtp.free.fr"

..Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25

..Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")
= 1

..Item("http://schemas.microsoft.com/cdo/configuration/sendusername") =
"ton "

..Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") =
"motdepasse"
'avis de lecture

iConf.Fields("urn:schemas:mailheader:disposition-notification-to") = _
""
iConf.Fields("urn:schemas:mailheader:return-receipt-to") = _
"ton "
.Update
End With

Daniel

> )bonjour,
> sur une feuille, un code (par CDO, issu de Ron de BRUIN , fichier:
> CDO_Example_Code.xls) qui envoit une feuille par mail, et le même code
> légèrement modifié pour que le destinataire porte un commentaire et en
> cliquant sur un bouton, renvoit directement à l'emetteur la feuille modifiée.
> en l'envoyant sur outlook ça marche
> en l'envoyant sur une boite GMAIL le fait de cliquer sur le bouton retour
> génère ce message:
>
> microsoft visual basic
> erreur d'execution '--2147220960 (80040220)':
> la valeur de configuration "SendUsing" est non valide.
>
> l'extrait de code concerné:
> .TextBody = "bonjour"
> .AddAttachment TempFilePath & TempFileName & FileExtStr
> .Send
> .Subject = "retour fiche appréciation " & [C14].Value
>
> Y en a t-y qui verrait si ça vient de l'application messagerie?
> Merci
>
> gilles72





Avatar
Daniel.C
Je me suis mal exprimé. Ce sont les informations de la personnes qui
ENVOIE le mail, donc dans ton cas ce sont les infos de connexion de ta
collègue, pas celles des clients.
Daniel

Bonjour Daniel
merci de ta réponse, qui, hélas ne va sans doute pas me servir; je
t'explique pourquoi:
LE PROBLEME:
je ne sais pas de quelles applic de messagerie disposent les clients.
C'est un fichier qu'une collègue envoit (outlook2007) à des clients pour
mesurer leur appréciation après travaux.
elle l'envoit depuis un bouton qui actionne le code de Ron de Bruin
sur cette feuille, il y a un autre bouton qui permet au client de retouner
directement à ma collègue la feuille qu'il a complétée avant.
Pour ça, j'ai fait une copie du code , et avec l'aide d'Isabelle et
Michdenis, je l'ai placé dans une private sub qui retourne le fichier à ma
collègue
LE PROBLEME:
je ne sais pas de quelles applic de messagerie disposent les clients
Il y a très peu de chance que ce soit GMAIL, mais pas de pot, en faisant les
tests avec des stagiaires je m'aperçois qu' avec GMAIL, ça coince
Merci donc de ton aide, mais je ne peux pas rentrer les coordonnées que je
ne connais pas
ci-dessous le code
MERCI encore

Private Sub CommandButton2_Click()
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim iMsg As Object
Dim iConf As Object
Dim ws As Worksheet
' Dim Flds As Variant

With Application
.ScreenUpdating = False
.EnableEvents = False
End With

Set Sourcewb = ActiveWorkbook

'Copy the ActiveSheet to a new workbook
ActiveSheet.Copy

'Or if you want to copy more then one sheet use:
'Sourcewb.Sheets(Array("Sheet1", "Sheet3")).Copy

Set Destwb = ActiveWorkbook



'Determine the Excel version and file extension/format
With Destwb
If Val(Application.Version) < 12 Then
'You use Excel 97-2003
FileExtStr = ".xls": FileFormatNum = -4143
Else
'You use Excel 2007
'We exit the sub when your answer is NO in the security dialog
that you only
'see when you copy a sheet from a xlsm file with macro's
disabled.
If Sourcewb.Name = .Name Then
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
MsgBox "Your answer is NO in the security dialog"
Exit Sub
Else
Select Case Sourcewb.FileFormat
Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
Case 52:
If .HasVBProject Then
FileExtStr = ".xlsm": FileFormatNum = 52
Else
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Case 56: FileExtStr = ".xls": FileFormatNum = 56
Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
End Select
End If
End If
End With

' 'Change all cells in Destwb to values if you want
' For Each sh In Destwb.Worksheets
' sh.Select
' With sh.UsedRange
' .Cells.Copy
' .Cells.PasteSpecial xlPasteValues
' .Cells(1).Select
' End With
' Application.CutCopyMode = False
' Next sh
' Destwb.Worksheets(1).Select


'Save the new workbook/Mail it/Delete it


TempFilePath = Environ$("temp") & ""
TempFileName = "RETOUR de " & Sourcewb.Name & " " & Format(Now,
"dd-mmm-yy h-mm-ss")

With Destwb
.SaveAs TempFilePath & TempFileName & FileExtStr,
FileFormat:=FileFormatNum
.Close savechanges:úlse
End With

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")

' iConf.Load -1 ' CDO Source Defaults
' Set Flds = iConf.Fields
' With Flds
'
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "Fill in
your SMTP server here"
'
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
' .Update
' End With
'Set ws = activeWorksheet
With iMsg
Set .Configuration = iConf
' .To = ""
'.To = ""
.To = Range("h17").Value
.CC = ""
.BCC = ""
'.From = """LEROY Gilles"""
' .Subject = "This is a test"

.TextBody = "bonjour"
.AddAttachment TempFilePath & TempFileName & FileExtStr
.Send
.Subject = "retour fiche appréciation " & [C14].Value ' ça colle

' .HTMLBody = RangetoHTML(rng)
' .Send





End With


'Delete the file you have send
Kill TempFilePath & TempFileName & FileExtStr

With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub



"Daniel.C" a écrit :

Mais en fouillant un peu sur internet, ça voudrait dire que tu n'as pas
configuré ton serveur SMTP (nom et mot de passe)
Il faudrait ajouter :

With Flds

..Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

..Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
= "smtp.free.fr"

..Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25

..Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")
= 1

..Item("http://schemas.microsoft.com/cdo/configuration/sendusername") =
"ton "

..Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") =
"motdepasse"
'avis de lecture

iConf.Fields("urn:schemas:mailheader:disposition-notification-to") = _
""
iConf.Fields("urn:schemas:mailheader:return-receipt-to") = _
"ton "
.Update
End With

Daniel

)bonjour,
sur une feuille, un code (par CDO, issu de Ron de BRUIN , fichier:
CDO_Example_Code.xls) qui envoit une feuille par mail, et le même code
légèrement modifié pour que le destinataire porte un commentaire et en
cliquant sur un bouton, renvoit directement à l'emetteur la feuille
modifiée. en l'envoyant sur outlook ça marche
en l'envoyant sur une boite GMAIL le fait de cliquer sur le bouton retour
génère ce message:

microsoft visual basic
erreur d'execution '--2147220960 (80040220)':
la valeur de configuration "SendUsing" est non valide.

l'extrait de code concerné:
.TextBody = "bonjour"
.AddAttachment TempFilePath & TempFileName & FileExtStr
.Send
.Subject = "retour fiche appréciation " & [C14].Value

Y en a t-y qui verrait si ça vient de l'application messagerie?
Merci

gilles72