Envoie Mail automatique Outlook via Excel VBA

Résolu/Fermé
simon7339 Messages postés 68 Date d'inscription lundi 10 mars 2014 Statut Membre Dernière intervention 10 avril 2018 - 12 janv. 2015 à 16:39
simon7339 Messages postés 68 Date d'inscription lundi 10 mars 2014 Statut Membre Dernière intervention 10 avril 2018 - 19 janv. 2015 à 11:59
Bonjour à tous,

Je souhaiterais automatiser mon fichier excel de relance avec une VBA lié à Outlook.

Pour être précis :

J'ai un fichier excel avec plein de lignes et des informations de la Celulle A à la Cellule K.

Je souhaiterais donc que si la cellule K est vide alors j'envoie un mail de relance automatique avec :

-MonMessage.To = en fonction du nom dans la cellule G alors l'adresse sera liée à ce nom (recherche V?)
-MonMessageSubject = devra être un texte fixe avec en variable la valeur contenu dans la cellule C
-MonMessageBody = qui sera fixe, càd toujours le même

Et une dernière chose qui serait idéal pour ne pas relancer à chaque fois les mêmes, serait qu'une fois le mail envoyé, le texte "RELANCE 1" s'inscrive dans la celulle K.

J'avais trouvé 2 modèles en fouillant sur Internet mais rien que je n'arrive à adapter seul.
Un avec
ActiveCell.MailEnvelope
et un autre avec :
Set MonOutlook = CreateObject("Outlook.Application")
  Set MonMessage = MonOutlook.createitem(0)


Merci d'avance pour votre aide.


A voir également:

17 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
15 janv. 2015 à 08:22
Rectification apportées pour ton projet:


Sub Testmailauto()
    Dim Trouve As Boolean
    Dim x As Integer
     Trouve = False
    x = 2
    Do
        'Boucle tant que le compteur x est inférieur à 100
        Do While x < 100
            'Incrémente le compteur.
            x = x + 1
            'Vérifie le contenu de la cellule.
            If Cells(x, 11) = "" Then
                'Attribue la valeur Vrai si la cellule est trouvée.
                Trouve = True
                'Anticipe la sortie de la boucle.
                Exit Do
            End If
        Loop
    'Quitte la boucle si la variable à la valeur True.
    Loop Until Trouve = True Or x = 100

    'Affiche un message en fonction du résultat de la recherche.
   If Trouve = True Then
    Range("K" & x).Value = "RELANCE 1"
    envoimail1
    Else
   MsgBox "Relance déjà effectuée!"
   End If
End Sub


1