Erreur d'exécution '-2147220960(80040220)': la val

Messages postés
4
Date d'inscription
mercredi 18 avril 2018
Dernière intervention
23 avril 2018
- 23 avril 2018 à 13:01 - Dernière réponse :
Messages postés
14297
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
14 novembre 2018
- 24 avril 2018 à 19:55
Bonjour,

J'essaie de faire marché ce code vba mais une erreur d'exécution'-2147220960(80040220)': la valeur de configuration "sendusing" est non valide a été détectée, est- ce quelqu'un aurait une solution pour résoudre cette erreur.

Mon objectif est d'arriver à envoyer un message sans pièce jointe par mail à plusieurs destinataires à date dépassée à partir d'un fichier excel.

Voici ce que j'ai fait mais ça ne marche toujours pas.





J'ai vraiment besoin d'aide.

En vous remerciant par avance.

Cordialement,
Afficher la suite 

Votre réponse

3 réponses

Messages postés
14297
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
14 novembre 2018
- 23 avril 2018 à 18:33
0
Merci
Merci de poster le code sous format texte, les images ne permettent pas le copier/coller du code.
Commenter la réponse de NHenry
Messages postés
4
Date d'inscription
mercredi 18 avril 2018
Dernière intervention
23 avril 2018
- Modifié par NHenry le 24/04/2018 à 18:04
0
Merci
Bonjour NHenry,

Je vous mets le code complet, le but est que je puisse envoi un mail sans pièce jointe à date dépassée date (en colonne C ) à ma liste d'adresse mail (en colonne D).

Je vous remercie par avance de votre aide.

Cordialement,

Option Explicit

Sub TesteDate()
'envoie un mail si la date est dépassée
Dim sSujet, sBody, sAdresseMail, sAdresseRetour As String 'chaines pour le sujet, corps, adresse d'envoi, adresse de retour
Dim duree As Integer 'nbre de jours entre aujourd'hui et la date à tester
Dim Lig_Deb, Lig_Fin As Integer 'ligne de début, de fin
Dim sDates_Col, sMails_Col As String 'colonnes qui contiennent les dates à tester et les adresses mail
Dim i As Integer

'initialisation des constantes de la macro :
Lig_Deb = 4 'dans ma feuille Excel, les dates à tester commencent en ligne 2
sDates_Col = "C" ' et elles sont en colonne C ( 3 ième colonne)et les adresses mail sont en colonne D à côté

'initialisation des données du mail envoyé :
sSujet = "Attestation d'assurance:"
sBody = "Bonjour," + vbNewLine + "Pouvez-vous nous transmettre votre attestation d'assurance à jour afin de mettre notre dossier administratif sous-traitant." + vbNewLine + "En vous remerciant." + vbNewLine + "Cordialement," + vbNewLine
sAdresseRetour = "-------------------@hotmail.fr"

'Ligne de fin =1ère cellule vide dans la colonne des dates
Lig_Fin = Val(Range(sDates_Col & CStr(Lig_Deb)).End(xlDown).Row)

' boucle de test dans la plage des dates (=> )
For i = Lig_Deb To Lig_Fin
Range(sDates_Col & CStr(i)).Select 'activer la cellule testée
duree = Now - ActiveCell.Value ' la date est dans la cellule active
If duree > 0 Then 'la date est dépassée
sAdresseMail = ActiveCell.Offset(0, 1).Value 'l'adresse mail est dans la colonne suivante offset (0,1)
'MsgBox ("Envoi de courrier à " & sAdresseMail)
' envoyer le mail :
CDO_SendMail sSujet, sBody, sAdresseMail, sAdresseRetour
Else
'MsgBox ("La date n'est pas atteinte")
End If

Next i

End Sub

Sub CDO_SendMail(ByVal sSujet As String, ByVal sBody As String, ByVal sAdresseMail As String, ByVal sAdresseRetour)
'MARCHE IMPEC, sans demande de confirmation ;-)))))
'on peut préciser : le sujet, le corps , l'adresse mail, l'adresse de retour
Dim iMsg As Object
Dim iConf As Object

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

With iMsg
.Configuration = iConf
.To = sAdresseMail
.Sender = sAdresseRetour 'adresse de l'expéditeur pour le rapport envoyé
.From = sAdresseRetour 'adresse de l'expéditeur du mail
.ReplyTo = sAdresseRetour 'adresse à laquelle sera envoyée la réponse
.CC = ""
.BCC = ""
.Subject = sSujet 'sujet du message
.TextBody = sBody 'corps du message
'.AddAttachment Fichier 'fichier joint
.DSNOptions = 14 'confirmation demandée dans tous les cas (voir ci-dessous avec 14 8 + 4 + 2)
' (0=pas réponse ; 2=rapport si échec ; 4=rapport si réussi ; 8=rapport si délai)

' pour demander des confirmations de réception ou d'envoi :
.Fields("urn:schemas:mailheader:return-receipt-to") = sAdresseRetour
.Fields("urn:schemas:mailheader:disposition-notification-to") = sAdresseRetour
' Update fields
.Fields.Update

' envoi
.Send
End With

End Sub


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Commenter la réponse de CYKY34
Messages postés
14297
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
14 novembre 2018
- 24 avril 2018 à 19:55
0
Merci
N'ayant pas Outlook (ni autre logiciels de la suite Office) sur ma machine, j'essaye quand même quelques hypothèses :
https://www.experts-exchange.com/questions/21277383/runtime-error-2147220960-80040220-The-SendUsing-configuration-is-invalid.html (Réponse du 2005-01-28)
https://stackoverflow.com/questions/582756/smtp-configuration-sendusing-configuration-value-is-invalid-with-asp-classic
https://stackoverflow.com/questions/33391500/cdo-message-1-error-80040220

Il y aurait un truc du genre :
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
A adapter à ton code.
Commenter la réponse de NHenry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.