Excel 2003, envoi avec CDO, mettre smtp et adresse expéditeur en variable

2 réponses
Avatar
Jaa
Bonjour à tous // XL2003

La macro Sub CDO_Send_Selection_Or_Range_Body() de Rob deBruyn pour envoyer une sélection XL2003 à
l'aide CDO marche bien avec les données SMTP et adresse e-mail de l'expéditeur codées "en dur".

Mais je dois donner ce fichier à divers utilisateurs qui devront renseigner :
- le smtp de leur FAI,
- leur adresse e-mail.
Et je ne souhaite pas qu'ils aient accès à l'éditeur VBE.
Aussi j'ai créé une feuille "initialisation" dans laquelle l'utilisateur rentre ces données.

Mais cela ne fonctionne pas.
Comment, svp, adapter le code de Ron,
pour le smtp :
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mana.pf" '<=
'au lieu de "smtp.mana.pf", je cible VarSMTP = Sheets("initialisation").Range("B11")
'mais cela ne fonctionne pas.
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With

pour l'adresse expéditeur :
With iMsg
Set .Configuration = iConf
.To = "les bonnes adresses sont mise en dur"
.CC = ""
.BCC = ""
.From = "si adresse en dur, cela fonctionne" '<=
'mais avec VarAdressMail = Sheets("initialisation").Range("B10")
'cela ne marche pas.
.Subject = "Blablatest"
.HTMLBody = RangetoHTML(rng)
.Send
End With

Pour le SMTP, l'erreur est "Le transport a échoué dans sa connexion au serveur"
Pour l'adresse expéditeur le message est "Au moins un champ De et Expéditeur est requis et n'a pas
été trouvé".

Merci pour l'aide.
Cordialement
J@@

2 réponses

Avatar
isabelle
bonjour J@@,

peut être avec
VarAdressMail = Range("initialisation!B11")

isabelle

Le 2016-04-12 01:08, Jaa a écrit :
Bonjour à tous // XL2003

La macro Sub CDO_Send_Selection_Or_Range_Body() de Rob deBruyn pour envoyer une
sélection XL2003 à l'aide CDO marche bien avec les données SMTP et adresse
e-mail de l'expéditeur codées "en dur".

Mais je dois donner ce fichier à divers utilisateurs qui devront renseigner :
- le smtp de leur FAI,
- leur adresse e-mail.
Et je ne souhaite pas qu'ils aient accès à l'éditeur VBE.
Aussi j'ai créé une feuille "initialisation" dans laquelle l'utilisateur rentre
ces données.

Mais cela ne fonctionne pas.
Comment, svp, adapter le code de Ron,
pour le smtp :
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") > "smtp.mana.pf" '< > 'au lieu de "smtp.mana.pf", je cible VarSMTP > Sheets("initialisation").Range("B11")
'mais cela ne fonctionne pas.

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

pour l'adresse expéditeur :
With iMsg
Set .Configuration = iConf
.To = "les bonnes adresses sont mise en dur"
.CC = ""
.BCC = ""
.From = "si adresse en dur, cela fonctionne" '< > 'mais avec Sheets("initialisation").Range("B10")
'cela ne marche pas.
.Subject = "Blablatest"
.HTMLBody = RangetoHTML(rng)
.Send
End With

Pour le SMTP, l'erreur est "Le transport a échoué dans sa connexion au serveur"
Pour l'adresse expéditeur le message est "Au moins un champ De et Expéditeur est
requis et n'a pas été trouvé".

Merci pour l'aide.
Cordialement
J@@
Avatar
Jaa
Bonjour Isabelle

et un grand merci.
C'était cela + que j'écrive VarAdressMail sans "" dans la ligne de code :

.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") VarAdressMail

Pareil pour SMTP.

Et bonjour à la Belle Province.
Bien amicalement
J@@


Le 12/04/2016 09:43, isabelle a écrit :
bonjour J@@,

peut être avec
VarAdressMail = Range("initialisation!B11")

isabelle

Le 2016-04-12 01:08, Jaa a écrit :
Bonjour à tous // XL2003

La macro Sub CDO_Send_Selection_Or_Range_Body() de Rob deBruyn pour envoyer une
sélection XL2003 à l'aide CDO marche bien avec les données SMTP et adresse
e-mail de l'expéditeur codées "en dur".

Mais je dois donner ce fichier à divers utilisateurs qui devront renseigner :
- le smtp de leur FAI,
- leur adresse e-mail.
Et je ne souhaite pas qu'ils aient accès à l'éditeur VBE.
Aussi j'ai créé une feuille "initialisation" dans laquelle l'utilisateur rentre
ces données.

Mais cela ne fonctionne pas.
Comment, svp, adapter le code de Ron,
pour le smtp :
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") >> "smtp.mana.pf" '< >> 'au lieu de "smtp.mana.pf", je cible VarSMTP >> Sheets("initialisation").Range("B11")
'mais cela ne fonctionne pas.

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

pour l'adresse expéditeur :
With iMsg
Set .Configuration = iConf
.To = "les bonnes adresses sont mise en dur"
.CC = ""
.BCC = ""
.From = "si adresse en dur, cela fonctionne" '< >> 'mais avec Sheets("initialisation").Range("B10")
'cela ne marche pas.
.Subject = "Blablatest"
.HTMLBody = RangetoHTML(rng)
.Send
End With

Pour le SMTP, l'erreur est "Le transport a échoué dans sa connexion au serveur"
Pour l'adresse expéditeur le message est "Au moins un champ De et Expéditeur est
requis et n'a pas été trouvé".

Merci pour l'aide.
Cordialement
J@@