Envoie Mail automatique Outlook via Excel VBA

Résolu
simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
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.

17 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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