Transmettre classeur actif par mail

Résolu/Fermé
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 - Modifié le 1 mai 2019 à 15:39
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 - 8 mai 2019 à 21:15
Bonjour à chacun,
Je souhaiterai envoyer le classeur actif (2 feuilles), lors de la validation d'une fiche de renseignements lorsque clic sur le bouton Valider saisie
L'adresse mail de l’expéditeur se trouvant en A49 et les destinataires de A51 à A55.
Je ne maîtrise pas du tout le Vba.
En vous remerciant.

https://www.cjoint.com/c/IEbnNAzV1p6
A voir également:

16 réponses

f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
1 mai 2019 à 16:12
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
1 mai 2019 à 17:58
Bonjour f894009
Je te remercie de me répondre, mais je ne parle pas l'anglais
Aurais-tu la gentillesse de me mettre le code Stp
En te remerciant
0
f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
1 mai 2019 à 18:49
Re,
Outlook, pas possible de preciser des adresses expéditeurs autres que celle du compte sur le PC

Faut passer par CDO. Ce classeur devrait vous rappeler kake chose
https://mon-partage.fr/f/903I8aaj/

Pour les destinataires, les mettre dans une variable avec un point-virgule+espace de separation
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
2 mai 2019 à 10:30
Bonjour cher ami
Je ne me souviens pas du tout de ce classeur, certainement du à l'AVC de noël dernier, mais reçoit tous mes remerciements pour ta bonne mémoire
Au plaisir
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
3 mai 2019 à 08:25
Bonjour f894009
Dans la macro ci-dessous il y a un problème à Set Plage erreur 13
Je te remercie de bien vouloir me corriger

Sub Envoi_Mail()
Dim ol As Object, myItem As Object
Dim ListDest As String
Set ol = CreateObject("outlook.application")
Set myItem = ol.CreateItem(olMailItem)
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
'Propriétés de l'e-mail
With OutMail
          Liste = ""
'Plage Nommée "Dest"     
          Set Plage = Dest      ' ????
'Récupération de la liste des destinataires
          For Each Cell In Plage.Cells
               If Liste = "" Then
                   Liste = Liste & Cell
               Else
                   Liste = Liste & ";" & Cell
               End If
         Next Cell
.To = Liste
myItem.Subject = "envoi d'un fichier attaché"
myItem.Body = "Veuillez trouver ci-joint le fichier pour mise à jour de la Base"
'fichier en cours d'utilisation envoyé en attaché:
myItem.Attachments.Add ActiveWorkbook.FullName
myItem.Send
End With
Set ol = Nothing
End Sub
0
f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
3 mai 2019 à 10:56
Bonjour,

Si Dest est une plage nommee, pas besoin de la transferer dans une variable

Sub Envoi_Mail()
    Dim OutApp As Object, OutMail As Object
    Dim ListDest As String
    
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    'Propri?t?s de l'e-mail
    With OutMail
          Liste = ""
        'Plage Nomm?e "Dest"
        'R?cup?ration de la liste des destinataires
          For Each Cell In Range("Dest")
               If Cell <> "" Then
                   Liste = Cell & ";" & Liste
               End If
         Next Cell
        .To = Liste
        .Subject = "envoi d'un fichier attach?"
        .Body = "Veuillez trouver ci-joint le fichier pour mise ? jour de la Base"
        'fichier en cours d'utilisation envoy? en attach?:
        .Attachments.Add ActiveWorkbook.FullName
        '.display
        .Send
    End With
    Set OutApp = Nothing
    Set OutMail = Nothing
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
3 mai 2019 à 11:12
Bonjour,
Merci pour ta réponse, cependant ça bloque à : .Send
0
f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
3 mai 2019 à 11:39
Re,

Sur erreur ou ……..
Parce que chez moi, ca marche
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
3 mai 2019 à 12:21
0
f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
3 mai 2019 à 14:16
Re
Faites une recherche sur internet
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
4 mai 2019 à 08:55
Re
J'ai regardé Internet mais rien trouvé de probant
0
f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
4 mai 2019 à 11:47
Bonjour,

Vous pouvez mettre votre fichier a dispo????
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
4 mai 2019 à 12:30
Voici en te remerciant
https://www.cjoint.com/c/IEekDbgLFv6
0
f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
Modifié le 4 mai 2019 à 14:02
Bonjour,

Chez moi, apres modif de votre code , c'est ok pour la partie Outlook: https://mon-partage.fr/f/DnQl3KTM/
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
4 mai 2019 à 21:41
Bonsoir f894009
Je te prie de bien vouloir m'excuser car je m'aperçois que je me suis planté dans ma demande
Je reviendrai vers toi lundi ou mardi car j'ai de grosses difficultés pour raisonner
Je te remercie de ta patience et de ton indulgence
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
5 mai 2019 à 21:20
Désolé pour cette perte de temps mon ami
Ce n'est pas le dossier actif que je souhaite envoyer mais "MonDossier.zip" qui se trouve sur le bureau l'écran.
Que ce dossier soit transmis direct sans affichage de Outlook
En te remerciant et en renouvelant mes excuses
0
f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
6 mai 2019 à 06:56
Bonjour,

en renouvelant mes excuses
Y a pas d'lezard

source_file = "chemin sur le disque/MonDossier.zip"
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
6 mai 2019 à 07:54
Re
Je te remercie f894009
J'ai modifié comme suit :
        'fichier envoyé en attache :
        'source_file = "chemin sur le disque/NouvelFiche.zip"
        .Attachments.Add "E:\Utilisateurs\Castor\Desktop\NouvelFiche.zip"
        '.display
        .Send

Mais, car il y a un mais, je ne connais pas le chemin des personnes qui enverront cette fiche, la seule chose certaine c'est que le dossier s'appellera NouvelFiche.zip
Merci de m'éclairer
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
6 mai 2019 à 09:38
.Attachments.Add "C:\%userprofile%\NouvelFiche.zip"
est surligné en jaune
0
f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
6 mai 2019 à 17:36
Bonjour,

Pas vraiment simple a faire car en plus il semblerait (vu votre code post 18) que le disque serait aussi inconnu
Faudrait "imposer" un disque, un repertoire ou que les fichiers Excel avec le code et le zip soient dans au meme endroit: disque et repetoire
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
Modifié le 7 mai 2019 à 07:44
Bonjour f894009
Suivant vos conseils, j'ai mis l'ensemble des fichiers dans C:\ADD\
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
7 mai 2019 à 12:02
Re
Dans cette macro, le mail est envoyé deux fois, pourquoi ?

Sub TransMail()
    Dim OL As Object
        If StrComp(Application, "Outlook", vbTextCompare) = 0 Then
            Set OL = Application
        Else
            Set OL = CreateObject("outlook.application")
        End If

    Dim MESSAGE As Object
    Dim objRecipient As Object

'en LATEBINDING on doit déclarer les constantes Outlook utilisées
    Const olFormatPlain = 1
    Const olFormatHTML = 2
    Const olTo = 1
    Const olCC = 2
    Const olBCC = 3

    Set MESSAGE = OL.CreateItem(0)
    With MESSAGE
        .Subject = "Mise a jour Annuaire_APEM"

    'Soit on ajoute un Corps en TEXTE BRUT
    .BodyFormat = olFormatPlain
    .Body = "Veuillez trouver ci-joint un dossier pour la mise à jour de l'annuaire." & vbCr & "Jean"

        'Soit on ajoute un Corps en HTML
        '.BodyFormat = olFormatHTML
        '.HTMLBody = "<html><body> <font face=""arial""><p>Bonjour,</p><p>Ceci est un exemple de Message HTML</p><p>Il faut utiliser des balises HTML pour formater le texte.</p><p>En <strong>gras</strong>, <em>Italic</em>, <u>Souligné</u></p><BR><p>Je suis passé à la ligne</p><p>Voici un lien hypertexte.</p>" _
         &                    "<a href=""mailto:Joe.User@MyCompany.com"">Joe User</a></font></body></html>"

'Ajout des destinataires zone nommée : "DestMail"
Dim cellule As Range
    For Each cellule In Worksheets("FR").Range("DestMail")
        If InStr(1, cellule.Value, "@") > 0 Then
        Set objRecipient = .Recipients.Add(cellule.Value)
            objRecipient.Type = olTo    'olBCC, olCC, olOriginator ou olTo.
            objRecipient.Resolve
        End If
    Next
'Ajout d 'une PJ
        Dim MaPJ
        'Nom du dossier a joindre : "NouvelFiche.zip"
        
Dim strFolder As String, WshShell, leFichier
Set WshShell = CreateObject("WScript.Shell")
strFolder = WshShell.SpecialFolders("Desktop")

        MaPJ = "NouvelFiche.zip"
        'on vérifie d'abord qu'il existe.
        If Dir(strFolder & "\" & MaPJ) <> "" Then
        '.Attachments.Add MaPJ  "NouvelFiche.zip"
        .Attachments.Add (strFolder & "\" & MaPJ)
        Else
            MsgBox "Fichier : " & MaPJ & vbCr & "Non trouvée sur:" & vbCr & strFolder, vbCritical
            .display
'on affiche le mail et fin
            End
        End If
'ajout pour lecture
'        .ReadReceiptRequested = True

'envoi selon adresse mail en :
         .SentOnBehalfOfName = Worksheets("FR").Range("J13")
        'Display   'Soit je l'affiche
        .Send   'Soit je l'envoi
    End With
End Sub
0
f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
7 mai 2019 à 17:49
Bonjour,

Y a une ligne qui devrait etre en commentaire apres '.HTMLBody!!!!
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
7 mai 2019 à 22:11
Bonsoir
J'ai fais :

    'Soit on ajoute un Corps en HTML
    '.BodyFormat = olFormatHTML
    '.HTMLBody = "<html><body> <font face=""arial""><p>Bonjour,</p><p>Ceci est un exemple de Message HTML</p><p>Il faut utiliser des balises HTML pour formater le texte.</p><p>En <strong>gras</strong>, <em>Italic</em>, <u>Souligné</u></p><BR><p>Je suis passé à la ligne</p><p>Voici un lien hypertexte.</p>" _
    '     &                    "<a href=""mailto:Joe.User@MyCompany.com"">Joe User</a></font></body></html>"

'Destinataires de la zone nommée : "DestMail"

Mais pareil 2 mail sont envoyés, vraiment mystérieux
0
f894009 Messages postés 17209 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 décembre 2024 1 711
8 mai 2019 à 08:09
Bonjour,

Ben, chez moi, une seule fois. Par hazard, la procedure ne serait pas appelee deux fois!!!!
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
8 mai 2019 à 21:15
J'ai trouvé, il y a 2 fois transmail 1-en compresser 2-en envoyer
Merci à toi et bonne continuation
0