Execution et envoi du resultat d'une requete par mail
1 réponse
frederic
Bonjour le Ng,
Existe t il un moyen pour que ma base execute d'elle meme
une requete tous les jours ( ouvres )a la meme heure et
qu'elle envoi le resulat de cette requete au format excel
a une personne par mail.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
PAS93
Bonsoir frédéric,
Voici les quelques solutions a toi d'en prendre ce qui peux t'intéresser :
bon 1) l'envoie du mail
fabrique_liste_mail ("SMS") ' recherche dans une feuille excel la liste des personnes pour la requete SMS DoCmd.SendObject acSendQuery, "SMS", acFormatXLS, MaListe, , , "Stat quotidienne SMS", , False ' envoie de la requete sous le format exel à "MaListe"
Voici le code de fabri... Function fabrique_liste_mail(URM) 'Définition de l'objet Excel dans VB Set appxs = CreateObject("Excel.Application") ' appxs.Visible = False appxs.Visible = False appxs.Workbooks.Open FileName:="c:toto.xls" appxs.Sheets("MAIL").select ' feuille contenant la liste des Requetes avec les @ mails appxs.Cells.select appxs.Columns(1).select appxs.Columns(1).Find(URM).select ' Recherche dans la 1ere colonne le nom de la requete col = appxs.ActiveCell.Column + 1 ' on ne prend que les noms Lig = appxs.ActiveCell.Row chaine = Lig & ":" & Lig ' compter le nombre de champs non nul avec la fonction NBCAR appxs.Columns(Lig).select NB_PERSONNE = appxs.Application.CountA(appxs.Range(chaine)) - 1 ' on ne prend que les noms sans URM Nb_tab = 0 MaListe = "" For I = 1 To NB_PERSONNE v = appxs.Sheets("MSC MAIL").Cells(Lig, I + col - 1) MaListe = v & ";" & MaListe Nb_tab = Nb_tab + 1 Next I appxs.ActiveWorkbook.Close SaveChanges:úlse
appxs.Quit ' Une fois terminé, utilise la méthode Quit pour fermer Set appxs = Nothing ' puis libère la référence.
End Function
Voici un exemple de fichier excel avec la feuille MAIL SMS
Sinon pour l'automatisation, au démarrage exécuter ce code.... Fabriquer un exécutable de cette base utiliser le schéduleur du system .
J'espere répondre à la question.
A+ "frederic" a écrit dans le message de news: 08ae01c351c0$f8ee3fc0$
Bonjour le Ng,
Existe t il un moyen pour que ma base execute d'elle meme une requete tous les jours ( ouvres )a la meme heure et qu'elle envoi le resulat de cette requete au format excel a une personne par mail.
C'est possible ca ?
Merci
Cordialement,
Frederic
Bonsoir frédéric,
Voici les quelques solutions a toi d'en prendre ce qui peux t'intéresser :
bon 1) l'envoie du mail
fabrique_liste_mail ("SMS") ' recherche dans une feuille excel la liste des
personnes pour la requete SMS
DoCmd.SendObject acSendQuery, "SMS", acFormatXLS, MaListe, , , "Stat
quotidienne SMS", , False ' envoie de la requete sous le format exel à
"MaListe"
Voici le code de fabri...
Function fabrique_liste_mail(URM)
'Définition de l'objet Excel dans VB
Set appxs = CreateObject("Excel.Application")
' appxs.Visible = False
appxs.Visible = False
appxs.Workbooks.Open FileName:="c:toto.xls"
appxs.Sheets("MAIL").select ' feuille contenant la liste des
Requetes avec les @ mails
appxs.Cells.select
appxs.Columns(1).select
appxs.Columns(1).Find(URM).select ' Recherche dans la 1ere
colonne le nom de la requete
col = appxs.ActiveCell.Column + 1 ' on ne prend que les noms
Lig = appxs.ActiveCell.Row
chaine = Lig & ":" & Lig
' compter le nombre de champs non nul avec la fonction NBCAR
appxs.Columns(Lig).select
NB_PERSONNE = appxs.Application.CountA(appxs.Range(chaine)) - 1
' on ne prend que les noms sans URM
Nb_tab = 0
MaListe = ""
For I = 1 To NB_PERSONNE
v = appxs.Sheets("MSC MAIL").Cells(Lig, I + col - 1)
MaListe = v & ";" & MaListe
Nb_tab = Nb_tab + 1
Next I
appxs.ActiveWorkbook.Close SaveChanges:úlse
appxs.Quit ' Une fois terminé, utilise la méthode Quit pour
fermer
Set appxs = Nothing ' puis libère la référence.
End Function
Voici un exemple de fichier excel avec la feuille MAIL
SMS toto@yahoo.fr tata@yahoo.fr titi@yahoo.fr
Sinon pour l'automatisation, au démarrage exécuter ce code....
Fabriquer un exécutable de cette base
utiliser le schéduleur du system .
J'espere répondre à la question.
A+
"frederic" <fclement@atml.fr> a écrit dans le message de news:
08ae01c351c0$f8ee3fc0$a501280a@phx.gbl...
Bonjour le Ng,
Existe t il un moyen pour que ma base execute d'elle meme
une requete tous les jours ( ouvres )a la meme heure et
qu'elle envoi le resulat de cette requete au format excel
a une personne par mail.
Voici les quelques solutions a toi d'en prendre ce qui peux t'intéresser :
bon 1) l'envoie du mail
fabrique_liste_mail ("SMS") ' recherche dans une feuille excel la liste des personnes pour la requete SMS DoCmd.SendObject acSendQuery, "SMS", acFormatXLS, MaListe, , , "Stat quotidienne SMS", , False ' envoie de la requete sous le format exel à "MaListe"
Voici le code de fabri... Function fabrique_liste_mail(URM) 'Définition de l'objet Excel dans VB Set appxs = CreateObject("Excel.Application") ' appxs.Visible = False appxs.Visible = False appxs.Workbooks.Open FileName:="c:toto.xls" appxs.Sheets("MAIL").select ' feuille contenant la liste des Requetes avec les @ mails appxs.Cells.select appxs.Columns(1).select appxs.Columns(1).Find(URM).select ' Recherche dans la 1ere colonne le nom de la requete col = appxs.ActiveCell.Column + 1 ' on ne prend que les noms Lig = appxs.ActiveCell.Row chaine = Lig & ":" & Lig ' compter le nombre de champs non nul avec la fonction NBCAR appxs.Columns(Lig).select NB_PERSONNE = appxs.Application.CountA(appxs.Range(chaine)) - 1 ' on ne prend que les noms sans URM Nb_tab = 0 MaListe = "" For I = 1 To NB_PERSONNE v = appxs.Sheets("MSC MAIL").Cells(Lig, I + col - 1) MaListe = v & ";" & MaListe Nb_tab = Nb_tab + 1 Next I appxs.ActiveWorkbook.Close SaveChanges:úlse
appxs.Quit ' Une fois terminé, utilise la méthode Quit pour fermer Set appxs = Nothing ' puis libère la référence.
End Function
Voici un exemple de fichier excel avec la feuille MAIL SMS
Sinon pour l'automatisation, au démarrage exécuter ce code.... Fabriquer un exécutable de cette base utiliser le schéduleur du system .
J'espere répondre à la question.
A+ "frederic" a écrit dans le message de news: 08ae01c351c0$f8ee3fc0$
Bonjour le Ng,
Existe t il un moyen pour que ma base execute d'elle meme une requete tous les jours ( ouvres )a la meme heure et qu'elle envoi le resulat de cette requete au format excel a une personne par mail.