[VBA EXCEL]Piece jointe outlook & textbox

invite05 -  
 Invite05 -
Bonjour,

J'ai un bouton1 qui lorsque je clique dessus me prépare un e-mail. Je souhaiterai que la macro ci-dessous fasse en sorte d'intégré le fichier dont le chemin est donné dans le Textbox1.
J'avais pensé à quelque chose dans ce style : .attachments.add = textbox1.value ou .attachments.add ="sheets("feuil1").range("A1")(la valeur du textbox est recopier dans une feuille de calcul) mais ca ne marche pas. Quelqu'un aurait une idée?

Public Sub envoyer_email()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String

Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = ("toto")
.Subject = ("Bonjour")
.Body = "Demande à traiter :" & Range("a1") & Chr(10) & Range("a3") & Chr(10) & Range("a4") & Chr(10) & Range("a5") & Chr(10) & Range("a6") & Chr(10) & Range("a7") & Chr(10) & Range("a8").Value
.attachments.add = ???
.Display '
End With
End Sub


Merci !

12 réponses

  1. Utilisateur anonyme
     
    re:

    La propriété [ .Value ] n'existe pas pour un "textbox"

    il faut utiliser la propriété [ .Text ].

    If (Len(Useform1.textbox1.Text ) > 0) Then
        Pj = Useform1.textbox1.Text 
    End If
    


    Lupin
    2
  2. Utilisateur anonyme
     
    Bonjour,

    la syntaxe serait :

    .AddAttachment (TextBox1.Text)

    Le TextBox1 doit être connu de la procédure !

    Lupin
    0
    1. invite05
       
      Je souhaiterai utiliser la boite de dialog GetOpenFile et renvoyer le nom du fichier selectionner dans un textbox :
      Dim objShell As Object, objFolder As Object, oFolderItem As Object
      Dim Chemin As String

      'Affiche la boîte de dialogue "Ouvrir"
      Chemin = Application.GetOpenFilename("Tous les fichiers (*.*),*.*")

      'On sort si aucun fichier n'aété sélectionné ou si l'utilisateur
      'a cliqué sur le bouton "Annu ler", ou sur la croix de fermeture.

      On Error Resume Next
      Set oFolderItem = objFolder.Items.Item
      Chemin = oFolderItem.Path

      UserForm1.TextBox1 = oFolderItem.Path
      End Sub



      puis un bouton "envoi mail" et intégrer en pièce jointe le fichier dont le chemin est renvoyé dans le textbox.
      .AddAttachment (TextBox1.Text)

      Ca ne marche pas merci de m'aider
      0
      1. invite05 > invite05
         
        Up !
        0
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. Utilisateur anonyme
     
    Bonjour,

    Exemple type :

    Option Explicit
    
    Sub Ouverture()
    
        Dim Chemin As Variant
    
        'Affiche la boîte de dialogue "Ouvrir"
        Chemin = Application.GetOpenFilename("Tous les fichiers (*.*),*.*")
    
        'On sort si aucun fichier n'a été sélectionné ou si l'utilisateur
        'a cliqué sur le bouton "Annuler", ou sur la croix de fermeture.
    
        If (Chemin <> "") Then
            If (InStr(1, Chemin, "\", vbTextCompare) > 0) Then
                UserForm1.TextBox1 = Chemin
            End If
        End If
    
    End Sub
    '
    


    Lupin
    0
  5. invite05
     
    Super ca marche !Merci Lupin !

    Maintenant j'ai un bouton "envoi mail" et je voudrai intégrer en pièce jointe le fichier dont le chemin est renvoyé dans le textbox.
    Quelque chose dans ce style dans un module "envoi Email"
    .AddAttachment (TextBox1.Text)

    Encore merci !
    0
  6. Invite05
     
    Lupin j'ai tenté de m'aider de ton message mais je rencontre un problème.
    Ma macro d'envoi d'email est un module, j'ai 3 userforms avec dans chaque des textbox qui sont en liaisons avec un macro : GetOpenfile qui récupère le chemin d'un fichier.

    Voici mon module d'envoi d'email :

    Public Sub envoyer_email()
    Dim ol As New Outlook.Application
    Dim olmail As MailItem
    Dim CurrFile As Object

    Dim Pj As String
    Set ol = New Outlook.Application
    Set olmail = ol.CreateItem(olMailItem)
    Pj = Useform1.textbox1.value ???
    With olmail
    .To = ("svpagf")
    .Subject = ("Demande à traiter")
    .Body = "Demande à traiter :" & Range("a1") & Chr(10) & Range("a3")
    .Display '.Send
    objMail.AddAttachment (Pj)

    End With
    End Sub

    Je pense pas que ce soit ça, si tu peux m'aider, il reste seulement ça à faire !
    merci!
    0
  7. Invite05
     
    Super ca marche !!! Merci Lupin !
    Voici le code :

    Public Sub envoyer_email()
    Dim ol As New Outlook.Application
    Dim olmail As MailItem
    Dim CurrFile As String
    Dim Pj As String
    Set ol = New Outlook.Application
    Set olmail = ol.CreateItem(olMailItem)

    With olmail
    .To = ("")
    .Subject = ("")
    .Body = ""
    .Display
    If (Len(Useform1.textbox1.Text) > 0) Then
    Pj = Useform1.textbox1.Text
    .Attachments.Add (Pj)
    End If

    End With
    End Sub
    0
  8. Invite05
     
    Dernière question si j'ai 30 autres user forms comment faire pour donner l'instruction au module d'aller chercher le textbox1 contenant le chemin de la PJ dans tous les autres useforms?
    For each ?
    Merci !
    0
  9. Invite05
     
    UP ! Quelqu'un pourrait répondre à ma dernière questiion svp ?
    Merci !
    0