VBA ENVOIE EMAIL PAR EXCEL+VBA SUPP DOUBLON

jeremy6812

XLDnaute Nouveau
Bonjour à tous et vraiment merci d'avance pour votre aide et soutien :) j 'ai déjà essayer beaucoup de chose et trouver beaucoup d'astuce ici grace a vous mais la je suis perdu....

j'ai besoin de 2 codes VBA et je ne sais pas si c'est possible en tous cas après plusieurs jours acharnée rien de ce que je fais ne fonctionne...

1er:
J'aimerais que les doublons de la colonne " VL_DOCNUM " ce supprime automatiquement si mes données en rajoutes( ce qui arrive quand j actualise ma base )

2eme problèmes et pas des moindre

j'aimerais que pour chaque ligne un email s'envoie sur Outlook a savoir

email du destinataire ( colonne P " email client "
En objet du mail ( colonne R " objet "
En texte du mail colonne S T ET U TEXTE 1 TEXTE 2 ET TEXTE 3 DONC et le texte 3 est diffèrent pour chaque destinataires comme vous pouvez le voir

je vous joint le fichier en espérant que quelqu'un ici peux m'aider merci milles fois a tous
 

Pièces jointes

  • Classeur1.xlsm
    404.5 KB · Affichages: 233

vgendron

XLDnaute Barbatruc
voila.. c'est mieux comme ca ;-)

Pour la suppression de doublon, utilise ce code..
Code:
Sub SupDoublons()
Application.ScreenUpdating = False
For i = Range("E" & Rows.Count).End(xlUp).Row To 2 Step -1
    If Range("E" & i) = Range("E" & i - 1) Then
        Rows(i).EntireRow.Delete
    End If
Next i
Application.ScreenUpdating = True
End Sub

Pour l'envoi de mail.. je ne connais pas du tout..
 

vgendron

XLDnaute Barbatruc
Re

avec le lien de Gosslien, que je salue au passage
voir le code épuré suivant..pas testé car pas de Outlook chez moi
Code:
Sub EnvoiMail()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim mailAddress As String
   
    'ouvre outlook
    Set OutApp = CreateObject("Outlook.Application")

    'on désactive les évènements et rafraichissement-->permet d'accelerer
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    'pour chaque ligne à partir de 3 (la 2 étant les entetes)
    For i = 3 To Range("A" & Rows.Count).End(xlUp).Row
        'on récupère l'adresse mail
        mailAddress = Range("C" & i)
        Message = Range("S" & i) & " " & Range("T" & i) & "ET " & Range("U" & i)
       
        'on crée le mail
        Set OutMail = OutApp.CreateItem(0)
        With OutMail
            .To = mailAddress
            .Subject = "Test mail"
            .Body = Message
            .Display  'Or use Send
        End With
                   
        'on libère la mémoire
        Set OutMail = Nothing
    Next i
   
'on nettoie

    Set OutApp = Nothing
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With
End Sub
 

herve62

XLDnaute Barbatruc
Supporter XLD
RE Salut
Donc je colle le message que je viens de mettre dans son ancien POST maintenant ici :

D'accord avec Vgendron , j'ai des messages pour mise à jour de bases ......on les a pas ?
sinon je peux t'assurer qu'en tapant"envoi mail auto via VBA" sur google tu vas tomber sur une dizaine d'exemples
avec paramétrages des champs ...etc . J'ai un type mais c'est en major. avec des cases à cocher et ma feuille excel est transmise auto
Sinon cela m'a pris 30 sec sur Google : http://codes-sources.commentcamarch...r-oulook-express-ou-modzilla-thunderbird-ou-d
J'ai aussi testé en 30 sec. cela me parait TOUT simple à adapter dans ton cas
Bon courage
 

Discussions similaires

Réponses
2
Affichages
233

Statistiques des forums

Discussions
312 198
Messages
2 086 146
Membres
103 130
dernier inscrit
FRCRUNGR