Envoi de mail en fonction d'une valeur de case

Y compris Power BI, Power Query et toute autre question en lien avec Excel
A
Alexandre NFM
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 6 décembre 2016
Version d'Excel : 2013 FR

Message par Alexandre NFM » 6 décembre 2016, 16:18

Bonjour à tous,

nouveau sur le forum et plutôt debutant en VBA. J'ai parcouru avec intérêt la partie Formation VBA mais je pense que ce que je souhaite faire demande un peu plus de connaissances. J'ai aussi déjà parcouru les posts consacrés aux envois de mail depuis VBA.

Pour faire simple: j'ai un fichier excel qui est lié à une application internet qui envoie en permanence des prix de matières premières et des taux de change, j'ai donc quelques cases qui changent principalement les cases B2, B3, B5, B6, D2, D3, G2, G3, O3, O4, O5,O6.

A partir de là le tableau fais des caluls assez simples de multiplications d'addtions pour me donner en temps reels des prix d'achat et de vente.

Je souhaiterais recevoir un email quand une case du range U7:UXX de ce tableau prend une certaine valeur : "vendre" par exemple (case U7 )

Pour l'instant j'ai cette mouture:
Sub envoi_mail()

    If ActiveSheet.Range(Cells(7, 20), Cells(12, 20)).Select = "VENDRE" Then

        Dim ol As Object, monItem As Object
        Set ol = CreateObject("outlook.application")
            Dim msg As MailItem
            Set olapp = New Outlook.Application
            Set msg = olapp.CreateItem(olMailItem)
        Dim client As String
            valeur_LME = Cells(7, 20)
        Dim valeur_LME As Integer
            client = Cells(7, 19)

            msg.To = "poulenard@nfm.lu"
            msg.Subject = client
            msg.Body = "l'ordre pour le client" & client & "pour le prix de " & valeur_LME & "peut être éxécuté"
            msg.Send

        Set ol = Nothing

    End If

End Sub

Bien entendu cela ne marche pas :-)

Merci par avance pour votre aide!

je joins le fichier (bon les chiffres ne bougeront pas en live mais cela ne doit pas changer grand chose je suppose).
Prix live.xlsm
(27.13 Kio) Téléchargé 7 fois
A
Alexandre NFM
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 6 décembre 2016
Version d'Excel : 2013 FR

Message par Alexandre NFM » 12 janvier 2017, 11:44

help?
Avatar du membre
thev
Membre impliqué
Membre impliqué
Messages : 2'462
Appréciations reçues : 207
Inscrit le : 13 juin 2016
Version d'Excel : 2013 FR 64 bits

Message par thev » 12 janvier 2017, 22:49

Bonsoir,

Tout d'abord "Select" est une méthode (c'est à dire une action) et non une propriété, l'instruction "=" est donc impropre.

remplacer
If ActiveSheet.Range(Cells(7, 20), Cells(12, 20)).Select = "VENDRE" Then
par
If Not ActiveSheet.Range(Cells(7, "U"), Cells(12, "U")).Find("VENDRE") Is Nothing Then Stop
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message