Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA: Envoyer un email par Gmail avec feuilles en pièces jointes

GuillaumA

XLDnaute Occasionnel
EDIT : Fichier Disponible page 3 : Post #35


Cordialement,
Guillaume A.
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : VBA: Envoyer un email par Gmail avec feuilles en pièces jointes

Re ,
Je ne sais pas si tu lis bien toutes les réponses que tu as ...
Je t'ai donné la solution pour grouper les pièces jointes au #24 .
Bonne journée
 

GuillaumA

XLDnaute Occasionnel
Re : VBA: Envoyer un email par Gmail avec feuilles en pièces jointes

Salut JNP,
Mea Culpa je n'avais pas vu la première partie de ce message!

Cela donne:
Code:
Sub EnvoyerMail()

Dim i As Integer
Dim NomDeLaFeuille As String
Dim NomDesClasseurs(1 To 11)
Dim ZonePJ As Range
Set ZonePJ = Range("C18:D28")

For i = 18 To 28
    If Not IsEmpty(Range("C" & i)) And Range("D" & i) = "OK" Then
    NomDeLaFeuille = Range("C" & i)
    NomDesClasseurs(i - 15 + 1) = "C:\Documents and Settings\user\Mes documents\" & NomDeLaFeuille & ".xls"
    ThisWorkbook.Sheets(NomDeLaFeuille).Copy
    ActiveWorkbook.SaveAs ("C:\Documents and Settings\user\Mes documents\" & NomDeLaFeuille)
    ActiveWorkbook.Close
    End If

Next i

Call SendMailCDO(NomDesClasseurs)

For i = 1 To 11
    If NomDesClasseurs(i) <> "" Then Kill NomDesClasseurs(i)
Next
ZonePJ.ClearContents

Code:
End Sub
 Sub SendMailCDO()


Dim D As String
Dim CC As String
Dim E As String
Dim S As String
Dim T As String

D = Range("C33").Value
CC = Range("C35").Value
E = Range("C15").Value
S = Range("C3").Value
T = Range("C6").Value & Chr(10) & Chr(10) & Range("C9").Value

Dim Cdo_Message As New CDO.Message
Set Cdo_Message.Configuration = GetSMTPServerConfig()
With Cdo_Message
.To = D
.CC = CC
.From = E
.Subject = S
.TextBody = T
For i = 1 To 11
    If NomDesClasseurs(i) <> "" Then .AddAttachment NomDesClasseurs(i)
Next

.send

End With

success = MsgBox(nbmessages & " envoyés avec succès !", vbInformation)

Exit Sub
SMTPSendMail_Err:
    'Gestion des erreurs
    tmp = MsgBox("Erreur lors de l'envoi de votre message." & Chr(10) & "Détails : " & Err.Description, vbCritical)


End Sub

J'ai un message d'erreur:
Erreur de compilation:
Nombre d'arguments incorrect ou affectation de propriété incorrect

je désespère...
 
G

Guest

Guest
Re : VBA: Envoyer un email par Gmail avec feuilles en pièces jointes

Re,

Décidement tu lis mal les réponses, la solution est dans la réponse de JNP au post #24!

A+
 

GuillaumA

XLDnaute Occasionnel
Re : VBA: Envoyer un email par Gmail avec feuilles en pièces jointes

Re,
Le ventre plein on voit mieux ce que l'on a oublié!

Voici le fichier final !
Ca serait bien de faire évoluer ce fichier. Il y a plein de choses qui peuvent être rajoutées. Comme par exemple la recherche en pièce jointe des feuilles non pas uniquement du classeur actif mais de n'importe quel classeur qu'on aurait sélectionné préalablement.
Ou encore envoyer aussi des classeurs.
Ou encore la possibilité de choisir la messagerie à employer.
Etc...


Actuellement:
- Possibilité d'envoyer à plusieurs des mail à plusieurs destinataires avec CC
- Possibilité d'envoyer plusieurs feuilles du classeur actif
- Etc...


Un grand merci à JNP et Hasco sans qui.. bah j'aurais pas pu le faire!

Cordialement,
Guillaume A.
 

Pièces jointes

  • Envoi_Mail_Par_Gmail_FINAL.zip
    25 KB · Affichages: 357
Dernière édition:

casarossa

XLDnaute Nouveau
Re : Envoyer feuille excel par mail (gmail)

Bonjour,

j'ai utilisé votre travail et cela fonctionne parfaitement pour un classeur différent de celui qui pilote l'envoi par gmail.

Je souhaiterais envoyer par gmail le classeur ou la feuille courante.

Pouvez-vous m'indiquer une piste ?




 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…