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 avec selection d'elements dans un classeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Mars 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Mars 2014
    Messages : 1
    Par défaut
    Bonjour,

    Je tente desesperement de faire fonctionner une macro, mais en vain. Mes recherches sur le forum se sont revelees infructueuses, c'est pourquoi je vous demande de l'aide.

    Pour faire simple, je possede un tableau suivant dans une feuille d'excel qu'on appellera Feuille1 :
    A2 : nom de la personne a mailer
    B2 : son adresse
    En ce qui conerne les taches a accomplir, il peux y en avoir plusieurs (Les colonnes A et B sont vides , seule la colonne C a chaque fois est remplie avec une tache differente)
    C2 : la tache a accomplir.
    D2 : Est ce que j'ai envie d'avoir un status sur la tache ou pas (en gros, vide si je veux pas que ca apparaisse dans le mail, 1 si il faut que ca y apparaisse)

    J'ai creer un bouton attache a la macro que je souhaite, qui enverra un mail avec les caractéristiques suivantes :
    - destinataire : B2
    - corps du message : "blablabla, envoyez moi le status de :"
    Et la, ca copie du fichier excel :
    . La premiere ligne d'entete (de A1 a C1 en gros)
    . Ca colle juste en dessous de A2 jusqu'a la prochaine case non vide de la colonne A tant que la case de la colonne D vaut 1 (puisque comme ca, il n'y aura plus de taches allouee a la premiere personne).


    J'ai tente de faire ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Set objeMail = Application.CreateItem(olMailItem)
        objeMail.BodyFormat = olFormatHTML
        Set theRecipientA = objeMail.Recipients.Add("ici faut dire que c'est d'abord la cellule A2 mais je sais pas le faire")
    pour creer un mail, mais je bloque. Pareil sur la prise en compte des cases en D1, je sais pas trop comment faire.

    Pourriez-vous m'aider ?

    Merci par avance,
    Nicolas

    Je tente ca :

    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
    22
    23
    24
     
    Sub Status()
     
    Dim OutApp As Object
    Dim OutMail As Object
    Dim MailTo As String
    Dim MailSubject As String
    Dim MailBody As String
     
            MailTo = Cells("D3")
            MailSubject = Cells("B3")
            MailBody = "blablabla" 
     
    'Send Mail
            Set OutApp = CreateObject("Outlook.Application")
            Set OutMail = OutApp.CreateItem(o)
            With OutMail
                .Subject = MailSubject
                .To = MailTo
                .body = MailBody
                .Display
            End With
     
    End Sub
    Mais ca ne marche pas : qu'est ce que je fais de mauvais ?

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Par défaut
    Bonjour,
    je peux te porposer ce code qui fonctionne très bien chez moi,
    ne fais pas attention au contenu des "range" et aux noms des sheets, tu dois les adapter à ta sauce.

    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
    22
    Dim MonOutlook As Object
      Dim MonMessage As Object
      Dim corps As String
      Dim Ws As Worksheet
      Dim WsLog As Worksheet
      Set Ws = Sheets("TempRpt")
      Set WsLog = Sheets("Log")
     
    '''''''''''''''''''''''Send report
      Set MonOutlook = CreateObject("Outlook.Application")
      Set MonMessage = MonOutlook.createitem(0)
      MonMessage.To = Ws.Range("c1") 
      MonMessage.Subject = Ws.Range("k2") & " " & Ws.Range("K3")
        corps = Ws.Range("G1") & Chr(10) 'Chr(10) pour passer à la ligne
        corps = corps & Ws.Range("G2") & Chr(13) & Chr(10)
     
      MonMessage.body = corps
     
      MonMessage.send
     
    '''''''''''''''''''''''End Send report
      Set MonOutlook = Nothing

Discussions similaires

  1. Envoi de mails avec plusieurs adresses IP dans Postfix
    Par e1230 dans le forum Administration système
    Réponses: 0
    Dernier message: 22/10/2014, 11h44
  2. mail avec plusieurs pièces jointes dans les tâches planifiées
    Par gretch dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 01/08/2014, 14h27
  3. probleme avec nombre d'elements dans un dictionnaire
    Par lps02 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/05/2012, 22h21
  4. Réponses: 2
    Dernier message: 19/05/2010, 17h20
  5. [Dojo] Drag and Drop avec seulement un element dans la zone droppable a chaque fois.
    Par zebulon75018 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 18/08/2009, 16h17

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