IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Mail via vba et outlook


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut Mail via vba et outlook
    Bonjour,

    Je dispose d'un fichier excel qui contient des une colonne nom, numero contrat, montant, date.

    Je souhaiterais faire une macro qui envoie un mail via type du genre : Suite a blalbla on voudrait que "NOM" qui a le "CONTRAT" etc ... via outlook
    Et dans l'idéal il faudrait que puisse recuperer l'adresse mail via mon repertoire avec le nom et la fonction verifier les noms mais je ne sais pas si cela est possible. il faudrait aussi qu'il envoie le mail que si la colonne "derog" vaut "non"

    Apres des heures a essayer de bibouiller en fouillant partout sur internet je suis décourager

    merci d'avance pour votre aide

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut
    Bon j'arrive à envoyer un mail en envoyer la ligne entière mais c'est moche et des que j'essaye de mettre en place une boucle ça marche plus

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur VBA
    Inscrit en
    Avril 2017
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur VBA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 122
    Par défaut
    Personnellement je me pencherais plus sur le publipostage de Word qui permettra de faire le courrier le plus joli le plus facilement.



    Pour ce qui est de votre demande, pouvez-vous montrer ce que vous avez réussi à faire ?

    Il y a beaucoup d exemples sur internet de code pour envoyer des mails avec Outlook, pouvez-vous donner le lien vers le code que vous avez pris en exemple et expliquer quelle difficulté vous avez eu à le transposer ?

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut
    Alors comme je ne connaissais pas le langage vba j'ai repris depuis le début. les valeurs sont bidons mais c'est l'idée générale

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub Test_mail()
     
     
    ActiveSheet.Rows(5).Select 
    ActiveWorkbook.EnvelopeVisible = True
     
    With ActiveSheet.MailEnvelope
        .Introduction = "bonjour "
        .Item.To = " ActiveSheet.Cells(2,3).Value "
        .Item.Subject = "sujet"
        .Item.Send
    End With
    End Sub
    Quand je fais ça mon mail s'envoie avec la ligne que je souhaite. Par contre quand j'essaye de mettre un for et de remplacer les valeurs par "i" plus rien ne s'envoie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Sub Test_mail()
     
    For i =  1 to 484
        If  ActiveSheet.Cells(i,3).Value = "NON" then
     
     
    ActiveSheet.Rows(5).Select 
    ActiveWorkbook.EnvelopeVisible = True
     
    With ActiveSheet.MailEnvelope
        .Introduction = "bonjour "
        .Item.To = " ActiveSheet.Cells(i,3).Value "
        .Item.Subject = "sujet
        .Item.Send
    End With
     
    End If
     
    Next i
    End Sub

    J'ai également essayer des codes plus complexes comme ici : https://excel.developpez.com/faq/?page=Messagerie
    cependant rien ne marche.
    Dans un premier temps je chercher d'abord a pourvoir transmettre les infos de ma ligne excel j'ai pas besoin que ça soit propre.
    Merci d'avance .

  5. #5
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    Tout ce que tu met entre guillemets est considéré comme du texte:
    Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Item.To = " ActiveSheet.Cells(i,3).Value "
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Item.To =  ActiveSheet.Cells(i,3).Value

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut
    J'ai finalement réussi en utilisant le publipostage ! merci beaucoup pour le conseil :)
    Bonne journée!

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur VBA
    Inscrit en
    Avril 2017
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur VBA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2017
    Messages : 122
    Par défaut
    Citation Envoyé par yuzuu Voir le message
    Quand je fais ça mon mail s'envoie avec la ligne que je souhaite. Par contre quand j'essaye de mettre un for et de remplacer les valeurs par "i" plus rien ne s'envoie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Sub Test_mail()
     
    For i =  1 to 484
        If  ActiveSheet.Cells(i,3).Value = "NON" then
     
     
    ActiveSheet.Rows(5).Select 
    ActiveWorkbook.EnvelopeVisible = True
     
    With ActiveSheet.MailEnvelope
        .Introduction = "bonjour "
        .Item.To = " ActiveSheet.Cells(i,3).Value "
        .Item.Subject = "sujet
        .Item.Send
    End With
     
    End If
     
    Next i
    End Sub

    J'ai également essayer des codes plus complexes comme ici : https://excel.developpez.com/faq/?page=Messagerie
    cependant rien ne marche.
    Dans un premier temps je chercher d'abord a pourvoir transmettre les infos de ma ligne excel j'ai pas besoin que ça soit propre.
    Merci d'avance .
    Kiki, le lien qu il a proposé sur developpez.com est très bien. La question n est pas celle d avoir un modèle de départ.

    ActiveSheet.Rows(5).Select
    Mettre i à la place de 5.


    .item.subject ="sujet
    Fermer les guillemets. Que le texte soit en rouge est un signe que ca ne fonctionne pas.

    Le test sur la dérogation et le nom du destinataire sont tous deux depuis la colonne c, ce n est pas possible, je pense que tu t es trompe de colonne pour le test sur non. Du coup le test n est jamais vrai et rien n est fait.

Discussions similaires

  1. [OL-2010] Help -> Bug pour envoi mail via vba access vers outlook
    Par Razielh dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 03/01/2016, 11h50
  2. Changer d'expéditeur pour un mailing via access et outlook
    Par AlexFred dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/11/2012, 10h50
  3. [XL-2003] Envoi mail via vba - outlook 2003
    Par NELAIN dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/04/2009, 15h54
  4. Message d'erreur pour mail depuis VBA par Outlook
    Par Plateforme3 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/12/2007, 12h26
  5. envoie de donnée par mail via vba
    Par swissmade dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/08/2007, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo