Probléme d'envoie de modification de fichier
roulio66
Messages postés
8
Statut
Membre
-
roulio66 Messages postés 8 Statut Membre -
roulio66 Messages postés 8 Statut Membre -
Bonjour
voila je suis débutant en VBA j'ai créé un fichier partager et j'aimerai que a chaque modification du fichier cela m'envoie un mail:
j'utilise un petit code cela marche très bien quand je l'exécute sur mon pc car j'ai la version dure d'Excel hélas mais collaborateur n'on que la version légère et de ce fait l'envoie ne s'effectue pas .
pouvez vous me dire si est il est possible de réaliser l'opération
voila le code que j'utilise:
EDIT: Ajout de la coloration syntaxique.
voila je suis débutant en VBA j'ai créé un fichier partager et j'aimerai que a chaque modification du fichier cela m'envoie un mail:
j'utilise un petit code cela marche très bien quand je l'exécute sur mon pc car j'ai la version dure d'Excel hélas mais collaborateur n'on que la version légère et de ce fait l'envoie ne s'effectue pas .
pouvez vous me dire si est il est possible de réaliser l'opération
voila le code que j'utilise:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim ol As Object, monmail As Object DisplayAlerts = False Set ol = CreateObject("outlook.application") Set monmail = ol.CreateItem(olMailItem) monmail.To = "XXX@XXXX" monmail.Subject = "Modifs" monmail.Body = "Modifications enregistrées dans le fichier trucmuche" monmail.Send Set ol = Nothing End Sub
EDIT: Ajout de la coloration syntaxique.
A voir également:
- Probléme d'envoie de modification de fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Suivi de modification word - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
Bonjour,
Le code est correct, c'est déjà ça.
Après, je ne connais pas de version légère d'Excel.
A partir de la version 2007, les fichiers contenant des macros doivent avoir l'extension .xlsx
Sinon, il faut configurer Excel en mode compatibilité 2003.
De plus, comme une macro peut être potentiellement dangereuse, il faut que le poste client autorise l'exécution des macros, voir dans les paramètres de sécurité d'Excel.
A+
Le code est correct, c'est déjà ça.
Après, je ne connais pas de version légère d'Excel.
A partir de la version 2007, les fichiers contenant des macros doivent avoir l'extension .xlsx
Sinon, il faut configurer Excel en mode compatibilité 2003.
De plus, comme une macro peut être potentiellement dangereuse, il faut que le poste client autorise l'exécution des macros, voir dans les paramètres de sécurité d'Excel.
A+
Bonjour alors en cherchant j'ai réussi a faire ce code avec la méthode CDO mais sa bloque au niveau du . send
je ne comprend pas pourquoi
voila le code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim mMessage As Object
Dim mConfig As Object
Dim mChps
Set mConfig = CreateObject("CDO.Configuration")
mConfig.Load -1
Set mChps = mConfig.Fields
With mChps
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'Adapter suivant votre serveur de mail. (exemple pour Gmail.)=> Hormail "smtp.live.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.office365.com"
'En principe, 25 fonctionne avec tout les serveurs.
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
'Vous pouvez essayer sans ces trois lignes
'Mais si votre serveur demande une authentification,
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "jaaa.jjjs@r-revolution-sante.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "XXXXX"
'Si votre serveur demande une connexion sûre (SSL)
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = "true"
.Update
End With
Set mMessage = CreateObject("CDO.Message")
With mMessage
Set .Configuration = mConfig
.To = "ju@hol.fr"
.From = "jaaa.jjjs@r-revolution-sante.com"
.Subject = "TESTE 1 "
.TextBody = "Ce mail vous est envoyer pour tester la macros"
'Pour ajouter une pièce jointe, un fichier, classeur, image etc.
'.AddAttachment 'Chemin et nom complet du fichier à joindre
.Send
End With
Set mMessage = Nothing
end sub
je ne comprend pas pourquoi
voila le code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim mMessage As Object
Dim mConfig As Object
Dim mChps
Set mConfig = CreateObject("CDO.Configuration")
mConfig.Load -1
Set mChps = mConfig.Fields
With mChps
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'Adapter suivant votre serveur de mail. (exemple pour Gmail.)=> Hormail "smtp.live.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.office365.com"
'En principe, 25 fonctionne avec tout les serveurs.
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
'Vous pouvez essayer sans ces trois lignes
'Mais si votre serveur demande une authentification,
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "jaaa.jjjs@r-revolution-sante.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "XXXXX"
'Si votre serveur demande une connexion sûre (SSL)
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = "true"
.Update
End With
Set mMessage = CreateObject("CDO.Message")
With mMessage
Set .Configuration = mConfig
.To = "ju@hol.fr"
.From = "jaaa.jjjs@r-revolution-sante.com"
.Subject = "TESTE 1 "
.TextBody = "Ce mail vous est envoyer pour tester la macros"
'Pour ajouter une pièce jointe, un fichier, classeur, image etc.
'.AddAttachment 'Chemin et nom complet du fichier à joindre
.Send
End With
Set mMessage = Nothing
end sub