VBA - Structure d'interface et fonction pour envoyer un mail Outlook [Supprimé]

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • 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 !

Statut
La discussion n'est pas ouverte à d'autres réponses

Dudu2

XLDnaute Barbatruc
Dudu2 a soumis une nouvelle ressource:

VBA - Structure d'interface et fonction pour envoyer un mail Outlook - Envoyer facilement un mail avec Outlook

Le fichier à télécharger contient:
  1. Le Module_EnvoiMailOutlook à copier / intégrer dans le Projet VBA
    Il contient:
    - Une structure d'interface (Type OUTLOOK_DATA) dont les éléments sont utilisés pour l'envoi du mail,
    - La Function MailOutlook() à appeler pour envoyer le mail.

  2. Le Module_Test qui est un exemple de mise en œuvre de...

En savoir plus sur cette ressource...
 
bonjour dudu2
super macro, mais je n'arrive pas à paramétrer l'envoi d'un pièce jointe
peux tu m'expliquer en réponse comment ca fonctionne
merci
alexis
 
Bonjour Alexis,

Tu as un exemple avec 2 pièces jointes en commentaires du code dans le paragraphe "Mise en œuvre":
VB:
'ReDim .TabAttachments(1 To 2)
'.TabAttachments(1) = "H:\Téléchargements\Attachment1.pdf"
'.TabAttachments(2) = "H:\Téléchargements\Attachment2.pdf"

Si tu n'as qu'une seule pièce jointe tu fais:
VB:
With OutLookInterface
    .../...
    ReDim .TabAttachments(1 To 1)
    .TabAttachments(1) = "H:\Téléchargements\Attachment1.pdf"
    .../...
End With
En indiquant le chemin complet de la pièce à joindre en indice 1 du tableau des pièces jointes (.TabAttachments).

Edit: dans le paragraphe "La structure d'interface" j'ai modifié le commentaire pour remplacer le terme "attachements" (qui est un anglicisme pas très bien venu) par "pièces jointes" qui est plus approprié.
(Pièces jointes se dit Attachments en anglais)
 
Dernière édition:
Bonjour Alexis,

Tu as un exemple avec 2 pièces jointes en commentaires du code dans le paragraphe "Mise en œuvre":
VB:
'ReDim .TabAttachments(1 To 2)
'.TabAttachments(1) = "H:\Téléchargements\Attachment1.pdf"
'.TabAttachments(2) = "H:\Téléchargements\Attachment2.pdf"

Si tu n'as qu'une seule pièce jointe tu fais:
VB:
With OutLookInterface
    .../...
    ReDim .TabAttachments(1 To 1)
    .TabAttachments(1) = "H:\Téléchargements\Attachment1.pdf"
    .../...
End With
En indiquant le chemin complet de la pièce à joindre en indice 1 du tableau des pièces jointes (.TabAttachments).

Edit: dans le paragraphe "La structure d'interface" j'ai modifié le commentaire pour remplacer le terme "attachements" (qui est un anglicisme pas très bien venu) par "pièces jointes" qui est plus approprié.
(Pièces jointes se dit Attachments en anglais)
j'ai le bug suivant :
1660495296921.png

apres dégogage :
1660495328544.png

et voilà le bout de code que j'ai modifié suivant tes instructions :
1660495372583.png


peux tu m'aider à résoudre le problème
merci d'avance
alexis
 
Tu as raison. Désolé, j'ai bugué (cause rename trop violent). Mea maxima culpa.
Je prépare une version corrigée et la re-publie.
 
Voici le fichier corrigé et amélioré pour intercepter les erreurs lors de l'ajout d'Attachments.
C'est bon pour moi. Si ça l'est aussi pour toi, je publierai cette version.
 

Pièces jointes

Merci je regarde ça demain matin
ca marche nickel.
M'autorises tu à modifier ton code pour le rendre plus générique. A savoir, le nombre de pièces jointes à envoyer. j'aimerais aussi comment tu modifies la boite de dialogue qui indique les comptes outlook présents.
merci
a te lire
alexis
 
Bonjour,
M'autorises tu à modifier ton code pour le rendre plus générique
Quel code veux-tu modifier ?
Je te conseille de laisser tel quel le Module_MailOutlook et ne pas y inclure de code.
Place ton code dans un Module séparé.

Tu peux coder ce que tu veux dans ton propre module qui appelle la fonction d'envoi.
Le nombre de pièces jointes est libre et ne dépend que de ce que tu codes dans ton propre module.

La boîte de dialogue de choix du compte dans la fonction d'envoi est basique.
Tu peux, toujours dans ton propre module, appeler la fonction ListeComptesOutlook() qui te renvoie un tableau des Comptes Outlook présents et gérer cette liste à ta guise pour en choisir un à valoriser dans l'Interface.
VB:
SendUsingAccount As Variant         'Nom du compte Outlook à utiliser (ex.:moncompte@domaine.com)
                                    'ou bien
                                    'Numéro de séquence (1-n) du compte Outlook à utiliser
                                    'Si SendUsingAccount = 0, la liste des comptes est proposée pour un choix

Il faut juste rendre Public la fonction ListeComptesOutlook() au préalable, ce que je ferai dans le code final.
 
Statut
La discussion n'est pas ouverte à d'autres réponses
- 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

Retour