Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Résolu : email automatique sous excel

DG-59

XLDnaute Nouveau
Bonjour,

j'ai fait un calendrier sur excel pour le suivie de consommation de pellet pour ma mère

avec 1 feuille pour le nombres de sac total et 1 case pour ce qui reste

ce que j'aimerai ces quand sur cette case qui ce rempli seul il reste ex 3 sac en stock sa envoie un mail automatiquement pour me prévenir que je doit lui en ramener la partie mail ces bon mais pas la partie qui gere le reste

dans module1:
j'ai mis ça

Sub envoiClasseur()


'Identification d'Outlook comme client de messagerie"
Dim MaMessagerie As Object
Dim MonMessage As Object
Set MaMessagerie = CreateObject("Outlook.application")
Set MonMessage = MaMessagerie.CreateItem(0)

'Destinataires du mail'

MonMessage.to = "adresse mail"

'MonMessage.to = "adresse mail"'

'Sujet du mail'

MonMessage = "Sacs de granuler"



'Corps du mail'

'Chr(10) & Chr(13)= saut de ligne"
contenu = "Bonjour,"
contenu = contenu & Chr(10) & Chr(13)

'Chr indiquent des sauts de lignes'
contenu = contenu & "Attention il ne reste que 5 sacs de Pellet" & Chr(10) & Chr(13)
contenu = contenu & "Cordialement" & Chr(10) & Chr(13)
contenu = contenu & " "
MonMessage.body = contenu

'envoi du message'
MonMessage.send

'réinitalisation de la messagerie'
Set MaMessagerie = Nothing

'Boite de dialogue"
MsgBox "Votre message a bien été envoyé"

End Sub

après je suis perdu

J'ai bien trouver des codes qui géré le chiffre 5 dans la colonne mais je doit l’écrire moi même pour que ça fonctionne
 
Dernière édition:

kingfadhel

XLDnaute Impliqué
Bonsoir,
Le minimum est de joindre un fichier avec des données fictives.
Une solution avec un timer,
tu peux changer le code de la procédure actualiser à ta convenance.
 

Pièces jointes

  • Bonjour.xls
    39 KB · Affichages: 18

kingfadhel

XLDnaute Impliqué
Re, voici les procédures utilisées:

VB:
Private Sub Workbook_open()
Call Mamacro
End Sub

dans un module

VB:
Dim horaire
Sub Actualiser()
' Définit l'intervalle avec l'heure actuelle +1 = une minute
    horaire = TimeSerial(Hour(Time), Minute(Time) + 1, Second(Time))
        Application.OnTime horaire, "Actualiser"
        Call Mamacro
End Sub
Sub Mamacro()
'teste sur la cellule qui contient le seuil des pellet
    If [c5] < 5 Then
    'envoi d'un mail
    Call envoiClasseur
    Else
    MsgBox "Le nombre de pellet est: " & [c5]
    End If
End Sub
Sub auto_open()
   Actualiser
End Sub

VB:
Sub envoiClasseur()

.
.
.
.
End Sub
 

DG-59

XLDnaute Nouveau
Bonsoir je préféré attendre que l'on me demande le fichier

je vient de faire un essais a l'ouverture du fichier sa me donne :

erreur execution '13';
Ce lien n'existe plus
 

Pièces jointes

  • Consommation pellets.xlsm
    66.4 KB · Affichages: 14
Dernière édition:

DG-59

XLDnaute Nouveau
je vient de tester de nouveau sa m'envoie bien un mail mais supérieure a 5 aussi il m'indique bien aussi le nombre de sacs restant

a la fermeture du fichier 8 sacs restant a l'ouverture il ma envoyer un mail puis toute les minutes

j'ai du faire une erreur de placement de vos code ou un problème de macro sur mon office
 

Pièces jointes

  • pellets.xlsm
    71.2 KB · Affichages: 11

kingfadhel

XLDnaute Impliqué
Bonjour,
Le principe est de tester la nombre de sacs restant, s'il est inférieur ou égale à 5 il envoi un mail.
quelle est la fréquence de test souhaitée???
en tout cas j'ai fait une petite modification de façon que le teste ce fait toutes les heures et si le nombre de sacs restant est inférieur ou égal à 5 un email sera envoyer automatiquement.
@ toi.
 

Pièces jointes

  • pellets.xlsm
    71.4 KB · Affichages: 19

DG-59

XLDnaute Nouveau
Merci sa fonctionne très bien la vous avez aussi modifier la ligne :

Code:
 MsgBox "Le nombre de pellet est: " & [c5]
Par
Code:
MsgBox [nbr_sacs]

maintenant il ne dit que le chiffre

Ces bon j'ai compiler les 2
Code:
MsgBox "Le nombre de pellet est: " & [nbr_sacs]
 
Dernière édition:

kingfadhel

XLDnaute Impliqué
Re,
c'est juste pour le teste mais si tu veux:

MsgBox "Le nombre de pellet est: " & [nbr_sacs]

tu peux l'enlever tu mets un apostrophe avant le mot Msgbox comme ça:
'MsgBox "Le nombre de pellet est: " & [nbr_sacs]
ou supprimer le ligne carrément.

heureux de débloquer la situation.
@ plus
 

DG-59

XLDnaute Nouveau
Franchement Merci beaucoup, sa fonctionne très bien

j'ai modifier une ligne aussi

Code:
Contenu = Contenu & "Attention il ne reste que " & [nbr_sacs] & " sacs de pellet " & Chr(10) & Chr(13)

comme ça dans le mail sa me donne le chiffre exact


Il me fait une repetition au démarrage de la feuille
2 fois de suite reste x sacs et 2 fois envoie du mail
 

Pièces jointes

  • pellets.xlsm
    71.3 KB · Affichages: 36
Dernière édition:

Discussions similaires

Réponses
2
Affichages
586
Réponses
6
Affichages
360
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…