executer une macro automatique

gothc

XLDnaute Occasionnel
Bonjour le forum
Je cherche comment executer une macro automatiquement lorsque je fais un enregistrement de mon classeur
ou quand je ferme mon fichier
Merci pour votre aide
 

youky(BJ)

XLDnaute Barbatruc
Bonjour Gothc,
En fenêtre des projets un double click sur Thisworkbook ouvre une fenêtre blanche.
Dans le combo de droite choisit l'événement le plus approprié BeforeSave ou BeforeClose
Entre les 2 lignes qui se forme indique simplement le nom de la macro à exécuter.
Bruno
 

gothc

XLDnaute Occasionnel
Bonjour j'ai un probléme avec le code
il génére un 2 em fichier excel lors de l'envoi par email dans mon dossier
peut on le supprimer apres l'envoi de l'émail ligne en rouge

Merci bonne journée

Sub CDO_Mail_Small_Text_2()
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
Dim Flds As Variant
Dim Fichier As String
Dim SourceWb As Workbook

Set SourceWb = ActiveWorkbook
Fichier = ThisWorkbook.Path & Application.PathSeparator & "j1.xls"


SourceWb.SaveCopyAs Fichier
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")

iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("") = True
.Item("") = 1
.Item("") = " boite email "
.Item("") = " "
.Item("") = "smtp.gmail.com"

.Item("") = 2
.Item("") = 465
.Update
End With

strbody = "Bonjour, . Merci!"

With iMsg
Set .Configuration = iConf
.to = " "
.CC = " "
.BCC = ""
' Note: The reply address is not working if you use this Gmail example
' It will use your Gmail address automatic. But you can add this line
' to change the reply address .ReplyTo = "Reply@something.nl"
.From = """Mr bidule "" < >"

.Subject = "planning"
.TextBody = strbody
.AddAttachment Fichier
.Send



End With
End Sub
 

youky(BJ)

XLDnaute Barbatruc
Re,
Sans doute que la variable Fichier ne renvoie pas le bon nom du fichier ou pas le bon chemin
Fichier doit renvoyer le chemin et le nom du fichier.
Ici le fichier doit être dans le même dossier Thisworkbook.path donne le chemin en cours
Activeworkbook.name indique le fichier en 1er plan c'est peut être cela qu'il faut modifier.
exemple
Fichier=ThisWorkbook.Path & "\J1.xls"
si J1 est dans le mm dossier sinon il faut indiquer tout le chemin
Bruno
 

Discussions similaires

Réponses
6
Affichages
304

Statistiques des forums

Discussions
314 201
Messages
2 107 137
Membres
109 757
dernier inscrit
juju790