Contenu d'un userform par mail

Brandysve Messages postés 59 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour commentçamarche,

Voilà le topo, j'ai un userform avec un formulaire que les agents remplissent. Tout en bas de ce formulaire, je voudrais mettre un bouton "Besoin d'aide?". Lorsque les agents cliqueront sur ce bouton, un second userform apparaitra avec 2 champs. Le premier "Nom de l'agent" et le second "Expliquez votre problème" et un bouton "Envoyer".

Ce que je voudrais, c'est que lorsque l'agent cliquera sur "Envoyer", ça m'envoie un mail avec comme sujet "Problème fichier excel xxx" et dans le corps de message

Nom de l'agent : xxxx
Problème : ........

Merci d'avance pour le temps que vous prendrez pour ma requête.

Brandysve

7 réponses

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    bonjour,

    je suppose que agent = textbox1
    problème = textbox2

    Sub EnvoiMail()
     
      Dim MonOutlook As Object
      Dim MonMessage As Object
      Dim corps As String
     
      Set MonOutlook = CreateObject("Outlook.Application")
      Set MonMessage = MonOutlook.createitem(0)
      MonMessage.to = "Dest1@messagerie.com"
      MonMessage.Subject = "Problème fichier excel " & textbox1.value
        corps = "Bonjour ,"
        corps = corps & Chr(13) & Chr(10)
        corps = corps & "agent : " & userform2.textbox1.value & Chr(13) & Chr(10)
        corps = corps & "Problème : " & UserForm2.TextBox2.Value & Chr(13) & Chr(10)
        corps = corps  & Chr(13) & Chr(10)
        corps = corps & "Merci de votre aide."
      
      MonMessage.body = corps
      MonMessage.send
      Set MonOutlook = Nothing
    End Sub
    0
  2. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Ne pas oublier de cocher la référence Microsoft Outlook Object Library.

    Sub Send_Mail(Byval StrBody As String, Byval fExcel As String)
    Dim olkApp As Outlook.Application
    Dim olkMail As MailItem
    
    Set olkApp = CreateObject("Outlook.Application")
    Set olkMail = olApp.CreateItem(olMailItem)
    
    
      With olkMail
           .To = ""
           .CC = ""
           .Subject = "Problème fichier excel " & fExcel
           .Body = StrBody
           .Display
        End With
    
         Set olkMail = Nothing
         Set olkApp = Nothing
    End Sub

    0
  3. Brandysve Messages postés 59 Statut Membre 5
     
    J'ai oublié de préciser que nous n'utilisons malheureusement pas Outlook. Il s'agit de IBM Lotus iNotes 8.5.3 FP5
    0
    1. Brandysve Messages postés 59 Statut Membre 5
       
      Nous n'utilisons pas le logiciel mais une session s'ouvrant dans le navigateur. Il me dit le message d'erreur "Un composant ActiveX ne peut pas créer l'objet"
      0
    2. melanie1324 Messages postés 1561 Statut Membre 156
       
      désolée je sèche alors.
      0
  4. Brandysve Messages postés 59 Statut Membre 5
     
    Après encore moultes recherche, il s'avère que je dois envoyer via un CDO mais n'ayant pas le SMTP de ma boite, c'est mort.

    Encore merci ! o/
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Bonjour,

      Pas forcément besoin du SMTP.
      Voyez cette astuce : https://www.commentcamarche.net/faq/36411-vb6-vba-envoi-mail-avec-l-objet-cdo
      extrait :
      'Vous pouvez essayer sans ces trois lignes 
              'Mais si votre serveur demande une authentification, 
              .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1" 
              .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "MyMail@gmail.com" 
              .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "MyCodePass" 
              'Si votre serveur demande une connexion sûre (SSL) 
              .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = "true" 


      Si le serveur ne demande pas d'autorisation, virez ces lignes et du coup pas besoin du smtp. Les données de gmail suffiront. Pour info, ces données correspondent aux lignes :
      .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
              'Adapter suivant votre serveur de mail. (exemple pour Gmail.)=> Hormail "smtp.live.com" 
              .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 
              'En principe, 25 fonctionne avec tout les serveurs. 
              .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,Bonjour Pijaku,
    La procédure CDO ne fonctionne pas avec Lotus note.
    J'ai un classeur exemple avec Lotus note mais.... non d'une pipe de non d'une pipe je parvient pas à le retrouver.
    Je me souvient que je suis déjà intervenu sur un sujet similaire... peut-être qu'une recherche sur le forum ?
    A+

    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Salut lermite222,

      En faisant une recherche dans tes participations au forum, je n'ai pu retrouver que celui-ci :
      https://forums.commentcamarche.net/forum/affich-18812378-excel-macro-mail-automatique

      C'est un début...

      Sinon, pour l'envoi de mail via Lotus Notes, il y a ce sujet sur DVP...

      Sinon, s'il s'agit d'une messagerie par navigateur, tout est possible, tout est imaginable. Cependant, faute de posséder la messagerie INotes, nous avons besoin du code source des pages IE...

      A suivre...
      0
  7. Brandysve Messages postés 59 Statut Membre 5
     
    J'avais déjà recherché, mais nous les solutions tournent autour de Lotus Note et nous c'est Lotus iNote (la version navigateur).
    0
  8. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    le site pour recuperer Mailsend plus infos ligne de commande

    http://www.feldstudie.net/2010/09/28/mailsend-tool-zum-senden-von-mails-ueber-smtp-via-kommandozeile/

    dans votre cas, vous devrez ecrire le fichier.bat avec la ligne de commande et les infos de l'UF que vous lancerez par une commande shell dans le VBA
    ex:
    Retval = Shell(Repertoire_Courrant & "\env_mess_FO.bat")

    Par contre faire essai pour le domaine etc ....

    A votre dispo pour la suite

    A+
    0