Ajouter cellule dans corp de texte Email

Résolu
NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -  
NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,

Il me faudrait ajouter certaines cellule avec la valeur CHANGE dans mon email (Voir le code)
Sub test_MailAuto()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim i As Integer, j As Integer

For i = 2 To Sheets("Feuil1").Range("E" & Rows.Count).End(xlUp).Row
If Sheets("Feuil1").Range("E" & i).Value = "CHANGE" Then

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

strbody = "<BODY style=font-size:11pt;font-family:Calibri>Bonjour merci d'effectuer cela,<br><br>" & _
"Changer produits numéro: (et la mettre la cellule par rapport à la valeur change)"

On Error Resume Next

With OutMail
.Display
.To = "MonEmail@com.com"
.Subject = "Changement"
.HTMLBody = strbody & "<br>" & .HTMLBody
.Display
.Send

End With

On Error GoTo 0
End If
Next i

Set OutMail = Nothing
Set OutApp = Nothing
End Sub


Merci d'avance
--
Noah Z

8 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Autant de @Mail que de numero produit ?
    1
  2. NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   34
     
    Bonsoir,

    Oui comme ça pour chaque demande traitée le mail serait mis dans un dossier spécial, mais si cela n'est pas possible un seul mail avec tous les numéros de produits va aussi.

    Merci de votre réponse.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Donc un seul @Mail?
      Dans votre reponse c'est un mail par numero!
      0
      1. NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   34 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        Oups,

        Je me suis rendu compte que l'en- tête de me questionne n'est pas la bonne (mauvais copier-coller désolé)

        Enfaite je reçois un mail (déclencher par toutes les cellules qui ont la valeur CHANGE), et je voudrai savoir si c'est possible de mettre quelle cellule envoie quel mail.

        Exemple la cellule C4 et D6 sont en valeur CHANGE, je reçois donc 2 mails et j'aimerais que dans le mail de la cellule C4 il soit précisé que c'est elle, et la même chose pour D6.

        Désolé pour mon erreur et merci de vos réponses,
        Noah
        0
      2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention  
         
        Re,

        Ok, comment la procedure d'envoi @Mail va etre declanchee?

        En attendant code qui regarde toutes les cellules colonnes E et envoi @Mail par cellule avec l'adresse de cette cellule

        Sub test_MailAuto()
            Dim OutApp As Object
            Dim OutMail As Object
            Dim strbody As String
            Dim i As Integer, j As Integer
            
            Set OutApp = CreateObject("Outlook.Application")
            Set OutMail = OutApp.CreateItem(0)
            With Sheets("Feuil1")
                Nb = .Range("E" & Rows.Count).End(xlUp).Row
                For i = 2 To Nb
                    If .Range("E" & i).Value = "CHANGE" Then
                        strbody = "<BODY style=font-size:11pt;font-family:Calibri>Bonjour merci d'effectuer cela,<br><br>" & _
                                "Changer produits numéro:  Cellule " & "E" & i                  '(et la mettre la cellule par rapport à la valeur change)"
                        On Error Resume Next
                        With OutMail
                            .Display
                            .To = "MonEmail@com.com"
                            .Subject = "Changement"
                            .HTMLBody = strbody & "<br>" & .HTMLBody
                            .Display        'Ouvre Outlook
                            '.Send           'Envoi direct
                        End With
                        On Error GoTo 0
                    End If
                Next i
            End With
            Set OutMail = Nothing
            Set OutApp = Nothing
        End Sub
        0
  3. NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   34
     
    Alors c'est avec un simple bouton.

    Mais si c'est possible de le tous les X temps je suis preneurs
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,
      Le plus logique est d'envoye un @Mail sur l'événement Change des cellules VBA feuille.
      Car avec un bouton ou un Timer, envoi x fois le meme @Mail des cellules ayant CHANGE car pas de memorisation de l'envoi
      Vous faites ou ....
      0
  4. NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   34
     
    Non car dès que la cellule et sur CHANGE l'utilisateur vas sur le fichier pour changer les donner du nouveau produit et donc supprimer l'ancien.

    Un timer ne me dérange pas dans mon cas.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      l'utilisateur vas sur le fichier pour changer
      Si vous le dites..
      quel Interval de temps pour le timer ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   34
     
    Chaque mois, à tester.

    Est-t'il possible d'avoir le code pour 2 semaines et pour 1 mois svp ?

    Merci beaucoup pour vos réponses.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Dans ce cas, un timer ne va pas puisque vous fermez le fichier.
      Le code sera dans le VBA de ThisWorkBook
      La date de reference sera celle de la fermeture du fichier. Donc pas laisser le fichier ouvert une semaine!
      0
  7. NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   34
     
    Oui parfait le fichier n'est pas fait pour rester ouvert longtemps.

    Est-il possible d'avoir le bout de code à mettre svp ?

    Merci beaucoup pour vos réponses et désolé pour la réponse tardive
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,
      Impatient?

      Pour l'envoi, je teste quoi comme date ?
      Il semblerait qu'il n'y ait aucune dans votre fichier!
      0
  8. NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   34
     
    Bonjour,

    Je pense 2 semaines après la fermeture du fichier.

    Encore une question, si imaginons, je ferme le fichier et que mon mail arrive 2 semaines après, est ce qu'un nouveau mail reviendra 2 semaines après si le fichier n'est pas ouvert entre-temps ?
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      L'@Mail ne peut etre envoye que si vous ouvrez le fichier
      0
  9. NoahZ Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   34
     
    Ah cela complique un peu plus la tâche du coup.

    Je pense faire autrement finalement, je vais faire un simple rappel sur l'agenda toutes les 2 semaines.

    Je vous remercie de votre aide.
    0