Envoi d'un reporting quotidien

Bonjour,

Je bosse dans la logistique et sur mon entrepôt j'ai mis en place d'un outil VBA d'aide à la gestion de stock de consommables (cartons, ect...). Ce programme fut ma toute première programmation VBA .

Mon fichier excel contient plusieurs feuilles, dont la feuille 6 appelée "Reporting". Cette feuille indique le niveau de stock actuel pour chaque référence via un tableau.

Mon chef de service souhaiterait avoir ce tableau dans sa boîte mail tous les matins à 9h dès son arrivée.

Donc j'aimerais mettre en place une macro qui enverrait ce fichier d'une manière automatique quotidiennement SANS avoir à appuyer sur un bouton si possible.

Pour cela il faudrait que :

  • la feuille soit envoyée en pdf car j'ai essayé sous forme excel et la "#valeur#" est affichée dans les cases comme il n'y a plus les autres feuilles dans l'extraction
  • le code prévoit un envoi quotidien (lundi au vendredi)
  • et surtout un envoi à 8h50 chaque jour pour mon chef l'ait à 9h.

En espérant avoir été clair.

SVP HEEEEEEEEELP !!

Mon chef est tellement satisfait de mon taff que si j'arrive à lui pondre çà ca serait le MUST

Merci d'avance

bonjour et bienvenu,

merci de fournir un fichier exemple pour test...

Fred

fred2406 a écrit :

bonjour et bienvenu,

merci de fournir un fichier exemple pour test...

Fred

Voici mon code de fermeture de mon fichier (quand je clique sur le bouton quitter)

(Je t'envoie le fichier pour test comment ?)

Private Sub CommandButton6_Click()

'Voulez-vous confirmer ?

If MsgBox("Voulez-vous confirmer ?", vbYesNo, "Vous avez demandé la fermeture de l'outil GDS") = vbYes Then

'Sauvegarde du travail

ActiveWorkbook.Save

'Message enregistrement des données

CreateObject("Wscript.shell").Popup "Votre travail a été enregistré", 3, "Enregistrement des données", vbExclamation

'Fermeture du fichier

ActiveWorkbook.Close

End If

End Sub

Re suivre le tuto pour joindre un fichier :

https://www.youtube.com/watch?v=EbNYLzTz5wM

fred

fred2406 a écrit :

Re suivre le tuto pour joindre un fichier :

https://www.youtube.com/watch?v=EbNYLzTz5wM

fred

Merci beaucoup Je vais voir ça je suis au bureau


Christy86 a écrit :
fred2406 a écrit :

Re suivre le tuto pour joindre un fichier :

https://www.youtube.com/watch?v=EbNYLzTz5wM

fred

Merci beaucoup Je vais voir ça je suis au bureau

J'espère que c'est bon

Bonjour

Il faut regler excel pour qu'il fasse en sorte que les macros soient activées automatiquement pour ce fichier..

ci joint le fichier a ouvrir et a adapter : (l'ouvrir en maintenant le touche majuscule enfoncée, pour que la macro qui s’exécute a l'ouverture du fichier ne se fasse pas....)

le chemin

nom de fichier source,

adresse mail du destinataire,

éventuellement nom du fichier pdf de sortie,

le sujet du mail

corps de message envoyé

il faut que Outlook soit paramétré sur la machine en question pour permettre l’envoi des mails...

Faire une tache planifiée sous Windows pour ouvrir ce fichier aux jours et heures voulues....

Fonctionnement du fichier :

a l'ouverture :

vérification si le fichier cible est ouvert ou fermé.

si ouvert : impression pdf dans fichier temporaire, puis envoi par mail, puis suppression du fichier pdf temporaire

si fermé : ouverture du fichier cible, impression pdf, envoi par mail, puis fermeture du fichier. suppression du pdf temporaire

a+

Fred

Bonjour Merci bcp Fred pour tout ça je vais essayer de suite.

fred2406 a écrit :

Fred, Merci je t'envoie le code que j'ai adapté mais ça ne passe pas

Je t'ai indiqué la ligne qui ne passe pas... Il y a peut-être d'autres erreurs.

Sub envoi_mail()

Dim rep, fich, onglet As String

Dim retour As Boolean

Dim NameFichPDF As String

Dim OutlookApp As Object

Dim OutlookMail As Object

Dim adresse As String

Dim message As String

Dim sujet As String

'nom et emplacement ou se trouve le fichier a traiter

rep = Feuil1.[B1]

fich = Feuil1.[B2]

'nom du fichier temporaire

NameFichPDF = Etat_stock("temp") & "\" & Feuil1.[B3]

onglet = Feuil1.[B4]

'pour l'email

adresse = Feuil1.[B6]

sujet = Feuil1.[B7]

message = Feuil1.[B8]

'******************************************************

'programme :

'******************************************************

Application.ScreenUpdating = False

'ouverture du fichier si pas encore ouvert

retour = Ouvrir_avec_test_deja_ouvert(rep & fich)

'enregistrement du fichier au format pdf dans un fichier temporaire

wbo.Sheets(onglet).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

NameFichPDF, Quality:=xlQualityStandard, IncludeDocProperties:=True, _

IgnorePrintAreas:=False, OpenAfterPublish:=False

'envoi de l'email

Set OutlookApp = CreateObject("outlook.application")

Set OutlookMail = OutlookApp.createitem(0)

With OutlookMail

.Subject = sujet 'sujet du mail

.To = "christy.lecko@gmail.com" 'adresse mail destinataire

.body = "message" 'corps du message

.Attachments.Add Etat_stock <======== Cette ligne plante

'.Display

.send 'on envoie le mail créé

End With

'libération de la mémoire

Set OutlookMail = Nothing

Set OutlookApp = Nothing

'suppression du fichier pdf temporaire

Kill NameFichPDF

'si le fichier n'était pas ouvert on le referme

If retour = True Then wbo.Close False

'libération de la mémoire

Set wbo = Nothing

End Sub

BOnjour

a aucun moment j'ai dis qu'il fallait changé quoi que ce soit dans le code......................................

Tu as fait n'importe quoi..... il est vrai que je n'ais pas précisé qu'il fallait modifier sur la feuille 1 du classeur mais bon quand on ouvre le fichier on voit quand même ceci .....

capture

Fred

Salut Fred,

En fait j'ai modifié les deux !!

La feuille 1 et le code je pensais qu'il fallait le faire également je vais réessayer.

Je tiens au courant

fred2406 a écrit :

BOnjour

a aucun moment j'ai dis qu'il fallait changé quoi que ce soit dans le code......................................

Tu as fait n'importe quoi..... il est vrai que je n'ais pas précisé qu'il fallait modifier sur la feuille 1 du classeur mais bon quand on ouvre le fichier on voit quand même ceci .....

Fred

Merci ça marche à la perfection.

C'est parfait !!

Rechercher des sujets similaires à "envoi reporting quotidien"