Envoi de mail

5 réponses
Avatar
Jc
Bonjour,
dans le cadre d'un projet, je désire envoyer des mails via excel.
J'utilise pour cela CDO et un code trouvé sur internet, que je n'aurais
pas réussi Í  créer mais que j'arrive Í  maintenir.
Tout marche bien avec mes propres données transmise par variable
(adresse mail, serveur de messagerie SMTP et port).
Le problème est que d'autres personnes seront amené Í  utiliser ce
programme.
Par l'intermédiaire d'un userform ils sont amenés Í  renseigné mail,
serveur de messagerie SMTP et port.

Ma question est la suivante : eszt-il possible via VBA de récupérer
automatiquement ces données ?
Si oui, question subsidiaire.
Si plusieurs comptes mails existent comment choisir ?

Merci d'avance de votre intérêt.

--

______________________________________________
Jc

5 réponses

Avatar
MichD
Le 02/02/21 Í  06:00, Jc a écrit :
Bonjour,
dans le cadre d'un projet, je désire envoyer des mails via excel.
J'utilise pour cela CDO et un code trouvé sur internet, que je n'aurais
pas réussi Í  créer mais que j'arrive Í  maintenir.
Tout marche bien avec mes propres données transmise par variable
(adresse mail, serveur de messagerie SMTP et port).
Le problème est que d'autres personnes seront amené Í  utiliser ce
programme.
Par l'intermédiaire d'un userform ils sont amenés Í  renseigné mail,
serveur de messagerie SMTP et port.
Ma question est la suivante : eszt-il possible via VBA de récupérer
automatiquement ces données ?
Si oui, question subsidiaire.
Si plusieurs comptes mails existent comment choisir ?
Merci d'avance de votre intérêt.

Bonjour,
Oui, c'est possible. Par exemple, tu peux récupérer ces données dans un
fichier .csv ou directement dans une feuille de calcul Excel si tu veux.
Exemple d'une procédure fait il y a longtemps...
Ces informations étaient contenues dans des textbox. Dans ton cas, tu
peux utiliser des variables et tu ajoutes cette procédure pour chaque
envoi de courriel. Tu peux mettre dans ce fichier texte, toutes les
données qui sont pertinentes. Le Truc "Substitute" c'était pour définir
le type de séparateur des données dans le fichier .csv.
'---------------------------------
Tu ajoutes ce qui suit Í  ta procédure avec les informations désirées
Dim Num As Long, Data As String
Dim Fichier As String
Data = Now & ";"
Data = Data & Me.CboExpediteur & ";"
Data = Data & WorksheetFunction.Substitute(Me.TxtA, ";", ",")
Data = Data & WorksheetFunction.Substitute(Me.TxtCC, ";", ",")
Data = Data & WorksheetFunction.Substitute(Me.TxtBCC, ";", ",")
Data = Data & WorksheetFunction.Substitute(Temp, ";", ",")
Data = Data & Me.TxtobjetCourriel
Num = FreeFile
'Définir la variable Fichier : chemin & nom du fichier
Open Fichier For Append As #Num
Print #Num, Data
Close #Num
'---------------------------------
MichD
Avatar
Jc
Bonjour,
Pardon pour le retard, j'ai été occupé.
Merci pour ta réponse, mais elle ne correspond pas par ce que
j'entendais par "récupérer automatiquement".
Ma question manque effectivement de précision.
Quand je dis "récupérer automatiquement", je veux dire aller chercher
directement lÍ  o͹ se trouve ces données (base de registre ???).
MichD avait prétendu :
Le 02/02/21 Í  06:00, Jc a écrit :
Bonjour,
dans le cadre d'un projet, je désire envoyer des mails via excel.
J'utilise pour cela CDO et un code trouvé sur internet, que je n'aurais pas
réussi Í  créer mais que j'arrive Í  maintenir.
Tout marche bien avec mes propres données transmise par variable (adresse
mail, serveur de messagerie SMTP et port).
Le problème est que d'autres personnes seront amené Í  utiliser ce
programme.
Par l'intermédiaire d'un userform ils sont amenés Í  renseigné mail, serveur
de messagerie SMTP et port.
Ma question est la suivante : eszt-il possible via VBA de récupérer
automatiquement ces données ?
Si oui, question subsidiaire.
Si plusieurs comptes mails existent comment choisir ?
Merci d'avance de votre intérêt.

Bonjour,
Oui, c'est possible. Par exemple, tu peux récupérer ces données dans un
fichier .csv ou directement dans une feuille de calcul Excel si tu veux.
Exemple d'une procédure fait il y a longtemps...
Ces informations étaient contenues dans des textbox. Dans ton cas, tu
peux utiliser des variables et tu ajoutes cette procédure pour chaque
envoi de courriel. Tu peux mettre dans ce fichier texte, toutes les
données qui sont pertinentes. Le Truc "Substitute" c'était pour définir
le type de séparateur des données dans le fichier .csv.
'---------------------------------
Tu ajoutes ce qui suit Í  ta procédure avec les informations désirées
Dim Num As Long, Data As String
Dim Fichier As String
Data = Now & ";"
Data = Data & Me.CboExpediteur & ";"
Data = Data & WorksheetFunction.Substitute(Me.TxtA, ";", ",")
Data = Data & WorksheetFunction.Substitute(Me.TxtCC, ";", ",")
Data = Data & WorksheetFunction.Substitute(Me.TxtBCC, ";", ",")
Data = Data & WorksheetFunction.Substitute(Temp, ";", ",")
Data = Data & Me.TxtobjetCourriel
Num = FreeFile
'Définir la variable Fichier : chemin & nom du fichier
Open Fichier For Append As #Num
Print #Num, Data
Close #Num
'---------------------------------
MichD

--
______________________________________________
Jc
Avatar
MichD
Je n'ai pas une réponse Í  ta question.
MichD
Avatar
Jc
MichD a pensé très fort :
Je n'ai pas une réponse Í  ta question.
MichD

J'avais effectué des recherches avant de poser cette question et
n'avais même pas entrevue une réponse s'en approchant, aussi je ne me
faisais pas trop d'illusion.
Merci
--
______________________________________________
Jc
Avatar
Xonic
Bonjour,
Si tu utilises Outlook, toutes ces donnes sont enregistrées dans le
profil dans la base de registre
Jc a exprimé avec précision :
Bonjour,
Pardon pour le retard, j'ai été occupé.
Merci pour ta réponse, mais elle ne correspond pas par ce que
j'entendais par "récupérer automatiquement".
Ma question manque effectivement de précision.
Quand je dis "récupérer automatiquement", je veux dire aller chercher
directement lÍ  o͹ se trouve ces données (base de registre ???).
MichD avait prétendu :
Le 02/02/21 Í  06:00, Jc a écrit :
Bonjour,
dans le cadre d'un projet, je désire envoyer des mails via excel.
J'utilise pour cela CDO et un code trouvé sur internet, que je n'aurais
pas réussi Í  créer mais que j'arrive Í  maintenir.
Tout marche bien avec mes propres données transmise par variable (adresse
mail, serveur de messagerie SMTP et port).
Le problème est que d'autres personnes seront amené Í  utiliser ce
programme.
Par l'intermédiaire d'un userform ils sont amenés Í  renseigné mail,
serveur de messagerie SMTP et port.
Ma question est la suivante : eszt-il possible via VBA de récupérer
automatiquement ces données ?
Si oui, question subsidiaire.
Si plusieurs comptes mails existent comment choisir ?
Merci d'avance de votre intérêt.

Bonjour,
Oui, c'est possible. Par exemple, tu peux récupérer ces données dans un
fichier .csv ou directement dans une feuille de calcul Excel si tu veux.
Exemple d'une procédure fait il y a longtemps...
Ces informations étaient contenues dans des textbox. Dans ton cas, tu
peux utiliser des variables et tu ajoutes cette procédure pour chaque
envoi de courriel. Tu peux mettre dans ce fichier texte, toutes les
données qui sont pertinentes. Le Truc "Substitute" c'était pour définir
le type de séparateur des données dans le fichier .csv.
'---------------------------------
Tu ajoutes ce qui suit Í  ta procédure avec les informations désirées
Dim Num As Long, Data As String
Dim Fichier As String
Data = Now & ";"
Data = Data & Me.CboExpediteur & ";"
Data = Data & WorksheetFunction.Substitute(Me.TxtA, ";", ",")
Data = Data & WorksheetFunction.Substitute(Me.TxtCC, ";", ",")
Data = Data & WorksheetFunction.Substitute(Me.TxtBCC, ";", ",")
Data = Data & WorksheetFunction.Substitute(Temp, ";", ",")
Data = Data & Me.TxtobjetCourriel
Num = FreeFile
'Définir la variable Fichier : chemin & nom du fichier
Open Fichier For Append As #Num
Print #Num, Data
Close #Num
'---------------------------------
MichD


--
Alain