XL 2016 code Vba mail depuis excel

  • Initiateur de la discussion Initiateur de la discussion crurik
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

crurik

XLDnaute Nouveau
bonjour, mon soucie par rapport a mon code c'est que je suis obligé d’ouvrir outlook manuellement pour que le mail s'envoie car il reste bloquée dans la boite d'envoie si je ne le fait pas. Je tient a précisé que j'ai recherché par mais propre moyen mais je ne trouve pas la solution à mon problème. Merci d'avance pour le coup de main que vous pourriez m'apporter.

je vous laisse le code ici:

Option Explicit

Private Sub CommandButton1_Click()

Dim LeMail As Variant
Dim fichier As String

Set LeMail = CreateObject("Outlook.Application")

With LeMail.CreateItem(olMailItem)
.To = "adresse du destinataire"

fichier = "E:\"

.Attachments.Add fichier

.Display

End With


End Sub
 
Solution
Re


Dans ce cas, publie ta solution ici.
Elle pourrait servir à d'autres membres du forum avec une problématique similaire.
😉
la voici:
VB:
Function ExistenceFichier(sFichier As String) As Boolean

ExistenceFichier = Dir(sFichier) <> ""

End Function


Sub EnvoiMail()

Dim objMail As Outlook.MailItem
Dim outapp As Outlook.Application
Set outapp = New Outlook.Application

Dim X As Object
Dim sNomFichier As String

sNomFichier = Sheets("Config").Range("L11").Value
'Le chemin de Outlook.exe sera alors indiqué en case L11, dans un onglet nommé “Config” car il diffère effectivement en fonction de la version de votre 'Office, ... Chaque utilisateur pourra donc écrire dans cet onglet de configuration le chemin de leur Outlook.exe

On...
Re


=>patricktoulon
C'est bien ce j'ai suggéré en message#2, non ?
Mais avec les commentaires en moins
Et sans emoticons, ce qui je l'avoue, rendait mon message moins rigolo. 😉

a ben moi quand je suis mort de rire je l'exprime 🤣
une autre raison du ridicule de la chose

VB:
'sNomFichier = "C:\Program Files\Microsoft Office\Office12\OUTLOOK.EXE" 'si le programme n'est destiné qu'à votre seul PC vous pouvez écrire ici le chemin exact de votre Outlook.exe, sinon écrivez:
sNomFichier = Sheets("Config").Range("L11").Value
c'est ID = Shell(sNomFichier)

ouais!!! moi j'ai office 15 dommage
je suis sur 2016 comme office.
 
Re

=>crurik
Qu'a donné le test que je te suggérais de faire? (cf message#10)
🙄
VB:
Private Sub CommandButton1_Click()
Dim LeMail As Object
Dim fichier As String
Set LeMail = CreateObject("Outlook.Application")
With LeMail.CreateItem(olMailItem)
.To = "adresse du destinataire"
fichier = "E:\nomfichier.zip"
.Attachments.Add fichier
'.Display
.Send
End With
End Sub
 
chez moi le code de post#2 fonctionne en display et send

VB:
Sub test()
Dim LeMail As Object
Dim fichier As String
Set LeMail = CreateObject("Outlook.Application")
With LeMail.CreateItem(olMailItem)
.To = "toto@hotmail.fr"
.SentOnBehalfOfName = "trucmachin@domain.com"
fichier = "E:\toto.zip"
.Attachments.Add fichier
.Subject = "test de mail outlook vba "
.body = " allo! comment va tu "
.Display
'.Send
End With
End Sub
Capture.JPG
 
chez moi le code de post#2 fonctionne en display et send

VB:
Sub test()
Dim LeMail As Object
Dim fichier As String
Set LeMail = CreateObject("Outlook.Application")
With LeMail.CreateItem(olMailItem)
.To = "toto@hotmail.fr"
.SentOnBehalfOfName = "trucmachin@domain.com"
fichier = "E:\toto.zip"
.Attachments.Add fichier
.Subject = "test de mail outlook vba "
.body = " allo! comment va tu "
.Display
'.Send
End With
End Sub
Regarde la pièce jointe 1093557
 
Re

=>crurik
La question était
Qu'affiche le MsgBox?
Tu ne donnes pas la réponse !
Tu disais avoir un problème pour joindre un fichier
Ce bout de code servait uniquement à savoir si le chemin (nom du dossier) et le fichier (nom du fichier) sont bons.
Car si le MsgBox affiche une chaine de caractère représentant un chemin invalide, c'est normal qu'il y ait un problème pour joindre le fichier.
 
Re

=>crurik
La question était
Qu'affiche le MsgBox?
Tu ne donnes pas la réponse !
Tu disais avoir un problème pour joindre un fichier
Ce bout de code servait uniquement à savoir si le chemin (nom du dossier) et le fichier (nom du fichier) sont bons.
Car si le MsgBox affiche une chaine de caractère représentant un chemin invalide, c'est normal qu'il y ait un problème pour joindre le fichier.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
640
Réponses
2
Affichages
719
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
795
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
387
Retour