Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Taille maximale de message

8 réponses
Avatar
Emmanuel Jaeckert
Bonjour,

Nous utilisons actuellement Outlook Express pour nos communications par
email.
Etant de plus en plus souvent confrontés à des problèmes de saturation
de bande passante suite à l'envoi de messages trop volumineux, je
recherche des solutions pour limiter la taille des messages lors de
l'envoi.
Je pensais qu'outlook (2003 fraichement installée pour tester) pourrait
nous fournir cette option mais je n'arrive pas à trouver.
D'où cette question : Est-il réellement possible de limiter l'envoi de
messages à une taille maximale du coté du client de messagerie (pour
infos, pas de serveur exchange ou smtp de notre coté, nous utilisons le
smtp de notre fournisseur)

Merci d'avance de vos réponses.

--
Emmanuel Jaeckert

8 réponses

Avatar
Fabrice N.
Bonjour,

Il n'y a pas d'option pour ça dans Outlook ( en tout cas, pas que je
sache ).
En principe, ça se paramètre côté serveur Exchange...

Après, une autre solution peut-être de passer par VBA.
En analysant la taille des pièces joint lors de l'envoi et en annulant si la
taille est dépassée...

A+


"Emmanuel Jaeckert" a écrit dans le message de
news:
Bonjour,

Nous utilisons actuellement Outlook Express pour nos communications par
email.
Etant de plus en plus souvent confrontés à des problèmes de saturation de
bande passante suite à l'envoi de messages trop volumineux, je recherche
des solutions pour limiter la taille des messages lors de l'envoi.
Je pensais qu'outlook (2003 fraichement installée pour tester) pourrait
nous fournir cette option mais je n'arrive pas à trouver.
D'où cette question : Est-il réellement possible de limiter l'envoi de
messages à une taille maximale du coté du client de messagerie (pour
infos, pas de serveur exchange ou smtp de notre coté, nous utilisons le
smtp de notre fournisseur)

Merci d'avance de vos réponses.

--
Emmanuel Jaeckert




Avatar
Oliv'
*Fabrice N." <"f.nebbia" dans le domaine "technicn.com <"f.nebbia" dans le
domaine "technicn.com"> que je salue a écrit *:
Bonjour,

Il n'y a pas d'option pour ça dans Outlook ( en tout cas, pas que je
sache ).
En principe, ça se paramètre côté serveur Exchange...

Après, une autre solution peut-être de passer par VBA.
En analysant la taille des pièces joint lors de l'envoi et en
annulant si la taille est dépassée...



Oui c'est exactement comme cela, il faut une macro qui vérifie la taille
lors de l'envoi

il existe des Addon payant faisant cela mais je suis sympa alors :

Dans cet exemple "très complet" ;-))) a copier dans THISOUTLOOKSESSION
il y a 3 vérif
le première au dela de 3 mo on demande de zipper
la deuxième au dela de 5 mo on demande de confirmer l'envoi
la dernière au dela de 10 mo envoi impossible.

si vous n'avez rien pour zipper commentez le bloc if de la première verif
'############################################
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
Boolean)
'By Oliv' 9/02/2007
Dim prompt As String
Dim taille, pieces
Dim objCurrentMessage As MailItem

If Not Item.Class = olMail Then GoTo fin

Set objCurrentMessage = Item
On Error GoTo 0

objCurrentMessage.Save

'#######première verif#######
If objCurrentMessage.Attachments.Count > 0 Then firstattch = _
objCurrentMessage.Attachments.Item(1)
If objCurrentMessage.Size * 1.33 > 3000000 And firstattch <> _
"Documents.zip " Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Voulez-vous Zipper les pièces jointes ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail est" _
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces _
& " pièces jointes" & vbCr & vbCr & "Z I P P E R ?"
If MsgBox(prompt, vbYesNo + vbQuestion, Title) = vbYes Then
'ici la macro qui va zipper le contenu des PJ
'décommenter les 2 lignes ci-dessous
'zip
'objCurrentMessage.Save
End If
End If

'#######deuxième verif#######
If objCurrentMessage.Size * 1.33 > 5000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Etes-vous sûr de vouloir envoyer ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail est" _
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
" pièces jointes" & vbCr & vbCr & "E N V O Y E R ?"
If MsgBox(prompt, vbYesNo + vbExclamation, Title) = vbNo Then
Cancel = True
GoTo fin
End If
End If

'#######dernière verif#######
If objCurrentMessage.Size * 1.33 > 10000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Envoi impossible"
prompt = Item.Subject & vbCr & vbCr & "Votre mail est" _
& " trop volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
"pièces jointes" & vbCr & vbCr & "Envoi impossible"
MsgBox prompt, vbOKOnly + vbExclamation, Title
Cancel = True
End If
fin:
End Sub
'############################################

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Avatar
Emmanuel Jaeckert
Merci bien pour cet exemple "très complet" :)

J'avais commencé à regarder comment je pourrais faire une telle macro
mais il me manquait le item.save pour obtenir la taille !
Reste à voir comment je pourrais déployer ça sur tout mon parc.

Merci encore, et surement à bientôt pour de nouvelles questions.

--
Emmanuel Jaeckert
--------------------------------------------------------------------
Les Forums de l'Adapei : http://intranet.adapei33.com/forums/
"Oliv'" a écrit dans le
message de news:

*Fabrice N." <"f.nebbia" dans le domaine "technicn.com <"f.nebbia"
dans le domaine "technicn.com"> que je salue a écrit *:
Bonjour,

Il n'y a pas d'option pour ça dans Outlook ( en tout cas, pas que je
sache ).
En principe, ça se paramètre côté serveur Exchange...

Après, une autre solution peut-être de passer par VBA.
En analysant la taille des pièces joint lors de l'envoi et en
annulant si la taille est dépassée...



Oui c'est exactement comme cela, il faut une macro qui vérifie la
taille lors de l'envoi

il existe des Addon payant faisant cela mais je suis sympa alors :

Dans cet exemple "très complet" ;-))) a copier dans
THISOUTLOOKSESSION
il y a 3 vérif
le première au dela de 3 mo on demande de zipper
la deuxième au dela de 5 mo on demande de confirmer l'envoi
la dernière au dela de 10 mo envoi impossible.

si vous n'avez rien pour zipper commentez le bloc if de la première
verif
'############################################
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
Boolean)
'By Oliv' 9/02/2007
Dim prompt As String
Dim taille, pieces
Dim objCurrentMessage As MailItem

If Not Item.Class = olMail Then GoTo fin

Set objCurrentMessage = Item
On Error GoTo 0

objCurrentMessage.Save

'#######première verif#######
If objCurrentMessage.Attachments.Count > 0 Then firstattch = _
objCurrentMessage.Attachments.Item(1)
If objCurrentMessage.Size * 1.33 > 3000000 And firstattch <> _
"Documents.zip " Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Voulez-vous Zipper les pièces jointes ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail est" _
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces _
& " pièces jointes" & vbCr & vbCr & "Z I P P E R ?"
If MsgBox(prompt, vbYesNo + vbQuestion, Title) = vbYes Then
'ici la macro qui va zipper le contenu des PJ
'décommenter les 2 lignes ci-dessous
'zip
'objCurrentMessage.Save
End If
End If

'#######deuxième verif#######
If objCurrentMessage.Size * 1.33 > 5000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Etes-vous sûr de vouloir envoyer ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail est" _
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
" pièces jointes" & vbCr & vbCr & "E N V O Y E R ?"
If MsgBox(prompt, vbYesNo + vbExclamation, Title) = vbNo Then
Cancel = True
GoTo fin
End If
End If

'#######dernière verif#######
If objCurrentMessage.Size * 1.33 > 10000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Envoi impossible"
prompt = Item.Subject & vbCr & vbCr & "Votre mail est" _
& " trop volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
"pièces jointes" & vbCr & vbCr & "Envoi impossible"
MsgBox prompt, vbOKOnly + vbExclamation, Title
Cancel = True
End If
fin:
End Sub
'############################################

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





Avatar
Oliv'
*Emmanuel Jaeckert que je salue a écrit *:
Merci bien pour cet exemple "très complet" :)

J'avais commencé à regarder comment je pourrais faire une telle macro
mais il me manquait le item.save pour obtenir la taille !
Reste à voir comment je pourrais déployer ça sur tout mon parc.


Facile !!
dans le script d'ouverture de session tu copies TON VbaProject.OTM (macros)
et TON outcmd.dat (pour les barres d'outils)
dans
C:Documents and SettingsLE PROFILApplication DataMicrosoftOutlook
plus simplement emploi cette syntaxe
%appdata%MicrosoftOutlook


cela donne donc
copy %logonserver%netlogonVbaProject.OTM "%APPDATA%MicrosoftOutlook" /y

il est préférable de mettre une signature electronique sur ton projet vba
comme cela une fois le certificat installé il n'y aura plus de confirmation
d'ouverture des macros.


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





Merci encore, et surement à bientôt pour de nouvelles questions.


*Fabrice N." <"f.nebbia" dans le domaine "technicn.com <"f.nebbia"
dans le domaine "technicn.com"> que je salue a écrit *:
Bonjour,

Il n'y a pas d'option pour ça dans Outlook ( en tout cas, pas que je
sache ).
En principe, ça se paramètre côté serveur Exchange...

Après, une autre solution peut-être de passer par VBA.
En analysant la taille des pièces joint lors de l'envoi et en
annulant si la taille est dépassée...



Oui c'est exactement comme cela, il faut une macro qui vérifie la
taille lors de l'envoi

il existe des Addon payant faisant cela mais je suis sympa alors :

Dans cet exemple "très complet" ;-))) a copier dans
THISOUTLOOKSESSION
il y a 3 vérif
le première au dela de 3 mo on demande de zipper
la deuxième au dela de 5 mo on demande de confirmer l'envoi
la dernière au dela de 10 mo envoi impossible.

si vous n'avez rien pour zipper commentez le bloc if de la première
verif
'############################################
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
Boolean)
'By Oliv' 9/02/2007
Dim prompt As String
Dim taille, pieces
Dim objCurrentMessage As MailItem

If Not Item.Class = olMail Then GoTo fin

Set objCurrentMessage = Item
On Error GoTo 0

objCurrentMessage.Save

'#######première verif#######
If objCurrentMessage.Attachments.Count > 0 Then firstattch = _
objCurrentMessage.Attachments.Item(1)
If objCurrentMessage.Size * 1.33 > 3000000 And firstattch <> _
"Documents.zip " Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Voulez-vous Zipper les pièces jointes ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail est" _
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces _
& " pièces jointes" & vbCr & vbCr & "Z I P P E R ?"
If MsgBox(prompt, vbYesNo + vbQuestion, Title) = vbYes Then
'ici la macro qui va zipper le contenu des PJ
'décommenter les 2 lignes ci-dessous
'zip
'objCurrentMessage.Save
End If
End If

'#######deuxième verif#######
If objCurrentMessage.Size * 1.33 > 5000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Etes-vous sûr de vouloir envoyer ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail est" _
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
" pièces jointes" & vbCr & vbCr & "E N V O Y E R ?"
If MsgBox(prompt, vbYesNo + vbExclamation, Title) = vbNo Then
Cancel = True
GoTo fin
End If
End If

'#######dernière verif#######
If objCurrentMessage.Size * 1.33 > 10000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Envoi impossible"
prompt = Item.Subject & vbCr & vbCr & "Votre mail est" _
& " trop volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
"pièces jointes" & vbCr & vbCr & "Envoi impossible"
MsgBox prompt, vbOKOnly + vbExclamation, Title
Cancel = True
End If
fin:
End Sub
'############################################

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





Avatar
Fabrice N.
Je veux pas être chiant, mais avec cette méthode, tu récupère tout le projet
VBA et donc toutes les macros qui existe.
Si il y a des macros spécifiques sur un poste, tu vas les écraser comme ça
non ?

A+

"Oliv'" a écrit dans le message
de news: %23g6z$

*Emmanuel Jaeckert que je salue a écrit *:
Merci bien pour cet exemple "très complet" :)

J'avais commencé à regarder comment je pourrais faire une telle macro
mais il me manquait le item.save pour obtenir la taille !
Reste à voir comment je pourrais déployer ça sur tout mon parc.


Facile !!
dans le script d'ouverture de session tu copies TON VbaProject.OTM
(macros)
et TON outcmd.dat (pour les barres d'outils)
dans
C:Documents and SettingsLE PROFILApplication DataMicrosoftOutlook
plus simplement emploi cette syntaxe
%appdata%MicrosoftOutlook


cela donne donc
copy %logonserver%netlogonVbaProject.OTM "%APPDATA%MicrosoftOutlook"
/y

il est préférable de mettre une signature electronique sur ton projet vba
comme cela une fois le certificat installé il n'y aura plus de
confirmation d'ouverture des macros.


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





Merci encore, et surement à bientôt pour de nouvelles questions.


*Fabrice N." <"f.nebbia" dans le domaine "technicn.com <"f.nebbia"
dans le domaine "technicn.com"> que je salue a écrit *:
Bonjour,

Il n'y a pas d'option pour ça dans Outlook ( en tout cas, pas que je
sache ).
En principe, ça se paramètre côté serveur Exchange...

Après, une autre solution peut-être de passer par VBA.
En analysant la taille des pièces joint lors de l'envoi et en
annulant si la taille est dépassée...



Oui c'est exactement comme cela, il faut une macro qui vérifie la
taille lors de l'envoi

il existe des Addon payant faisant cela mais je suis sympa alors :

Dans cet exemple "très complet" ;-))) a copier dans
THISOUTLOOKSESSION
il y a 3 vérif
le première au dela de 3 mo on demande de zipper
la deuxième au dela de 5 mo on demande de confirmer l'envoi
la dernière au dela de 10 mo envoi impossible.

si vous n'avez rien pour zipper commentez le bloc if de la première
verif
'############################################
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
Boolean)
'By Oliv' 9/02/2007
Dim prompt As String
Dim taille, pieces
Dim objCurrentMessage As MailItem

If Not Item.Class = olMail Then GoTo fin

Set objCurrentMessage = Item
On Error GoTo 0

objCurrentMessage.Save

'#######première verif#######
If objCurrentMessage.Attachments.Count > 0 Then firstattch = _
objCurrentMessage.Attachments.Item(1)
If objCurrentMessage.Size * 1.33 > 3000000 And firstattch <> _
"Documents.zip " Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Voulez-vous Zipper les pièces jointes ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail est" _
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces _
& " pièces jointes" & vbCr & vbCr & "Z I P P E R ?"
If MsgBox(prompt, vbYesNo + vbQuestion, Title) = vbYes Then
'ici la macro qui va zipper le contenu des PJ
'décommenter les 2 lignes ci-dessous
'zip
'objCurrentMessage.Save
End If
End If

'#######deuxième verif#######
If objCurrentMessage.Size * 1.33 > 5000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Etes-vous sûr de vouloir envoyer ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail est" _
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
" pièces jointes" & vbCr & vbCr & "E N V O Y E R ?"
If MsgBox(prompt, vbYesNo + vbExclamation, Title) = vbNo Then
Cancel = True
GoTo fin
End If
End If

'#######dernière verif#######
If objCurrentMessage.Size * 1.33 > 10000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Envoi impossible"
prompt = Item.Subject & vbCr & vbCr & "Votre mail est" _
& " trop volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
"pièces jointes" & vbCr & vbCr & "Envoi impossible"
MsgBox prompt, vbOKOnly + vbExclamation, Title
Cancel = True
End If
fin:
End Sub
'############################################

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~









Avatar
Oliv'
*Fabrice N." <"f.nebbia" dans le domaine "technicn.com <"f.nebbia" dans le
domaine "technicn.com"> que je salue a écrit *:
Je veux pas être chiant, mais avec cette méthode, tu récupère tout le
projet VBA et donc toutes les macros qui existe.
Si il y a des macros spécifiques sur un poste, tu vas les écraser
comme ça non ?



Oui tu as tout à fait raison.
Mais j'ai pas d'autre méthode sous la main. mis à part le copier coller.
Oliv'

"Oliv'" a écrit dans le
message de news: %23g6z$

*Emmanuel Jaeckert que je salue a
écrit *:
Merci bien pour cet exemple "très complet" :)

J'avais commencé à regarder comment je pourrais faire une telle
macro mais il me manquait le item.save pour obtenir la taille !
Reste à voir comment je pourrais déployer ça sur tout mon parc.


Facile !!
dans le script d'ouverture de session tu copies TON VbaProject.OTM
(macros)
et TON outcmd.dat (pour les barres d'outils)
dans
C:Documents and SettingsLE PROFILApplication
DataMicrosoftOutlook plus simplement emploi cette syntaxe
%appdata%MicrosoftOutlook


cela donne donc
copy %logonserver%netlogonVbaProject.OTM
"%APPDATA%MicrosoftOutlook" /y

il est préférable de mettre une signature electronique sur ton
projet vba comme cela une fois le certificat installé il n'y aura
plus de confirmation d'ouverture des macros.


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook Dernière
chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Merci encore, et surement à bientôt pour de nouvelles questions.


*Fabrice N." <"f.nebbia" dans le domaine "technicn.com <"f.nebbia"
dans le domaine "technicn.com"> que je salue a écrit *:
Bonjour,

Il n'y a pas d'option pour ça dans Outlook ( en tout cas, pas que
je sache ).
En principe, ça se paramètre côté serveur Exchange...

Après, une autre solution peut-être de passer par VBA.
En analysant la taille des pièces joint lors de l'envoi et en
annulant si la taille est dépassée...



Oui c'est exactement comme cela, il faut une macro qui vérifie la
taille lors de l'envoi

il existe des Addon payant faisant cela mais je suis sympa alors :

Dans cet exemple "très complet" ;-))) a copier dans
THISOUTLOOKSESSION
il y a 3 vérif
le première au dela de 3 mo on demande de zipper
la deuxième au dela de 5 mo on demande de confirmer l'envoi
la dernière au dela de 10 mo envoi impossible.

si vous n'avez rien pour zipper commentez le bloc if de la première
verif
'############################################
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
Boolean)
'By Oliv' 9/02/2007
Dim prompt As String
Dim taille, pieces
Dim objCurrentMessage As MailItem

If Not Item.Class = olMail Then GoTo fin

Set objCurrentMessage = Item
On Error GoTo 0

objCurrentMessage.Save

'#######première verif#######
If objCurrentMessage.Attachments.Count > 0 Then firstattch = _
objCurrentMessage.Attachments.Item(1)
If objCurrentMessage.Size * 1.33 > 3000000 And firstattch <> _
"Documents.zip " Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Voulez-vous Zipper les pièces jointes ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail
est" _ & " très volumineux : " & vbCr & taille & " Mo" & vbCr &
pieces _ & " pièces jointes" & vbCr & vbCr & "Z I P P E R ?"
If MsgBox(prompt, vbYesNo + vbQuestion, Title) = vbYes Then
'ici la macro qui va zipper le contenu des PJ
'décommenter les 2 lignes ci-dessous
'zip
'objCurrentMessage.Save
End If
End If

'#######deuxième verif#######
If objCurrentMessage.Size * 1.33 > 5000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Etes-vous sûr de vouloir envoyer ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail
est" _ & " très volumineux : " & vbCr & taille & " Mo" & vbCr &
pieces & _ " pièces jointes" & vbCr & vbCr & "E N V O Y E R ?"
If MsgBox(prompt, vbYesNo + vbExclamation, Title) = vbNo Then
Cancel = True
GoTo fin
End If
End If

'#######dernière verif#######
If objCurrentMessage.Size * 1.33 > 10000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Envoi impossible"
prompt = Item.Subject & vbCr & vbCr & "Votre mail est" _
& " trop volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
"pièces jointes" & vbCr & vbCr & "Envoi impossible"
MsgBox prompt, vbOKOnly + vbExclamation, Title
Cancel = True
End If
fin:
End Sub
'############################################

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~









Avatar
Emmanuel Jaeckert
En effet, ça peut avoir des effets de bord, mais ça peut aussi permettre
d'harmoniser sur un parc les différentes config.

Par contre, concernant les signatures électroniques, peux tu m'en dire
plus ou m'aiguiller vers des liens intéressants ?

Merci d'avance.

--
Emmanuel Jaeckert

"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans le
message de news:
Je veux pas être chiant, mais avec cette méthode, tu récupère tout le
projet VBA et donc toutes les macros qui existe.
Si il y a des macros spécifiques sur un poste, tu vas les écraser
comme ça non ?

A+

"Oliv'" a écrit dans le
message de news: %23g6z$

*Emmanuel Jaeckert que je salue a écrit
*:
Merci bien pour cet exemple "très complet" :)

J'avais commencé à regarder comment je pourrais faire une telle
macro
mais il me manquait le item.save pour obtenir la taille !
Reste à voir comment je pourrais déployer ça sur tout mon parc.


Facile !!
dans le script d'ouverture de session tu copies TON VbaProject.OTM
(macros)
et TON outcmd.dat (pour les barres d'outils)
dans
C:Documents and SettingsLE PROFILApplication
DataMicrosoftOutlook
plus simplement emploi cette syntaxe
%appdata%MicrosoftOutlook


cela donne donc
copy %logonserver%netlogonVbaProject.OTM
"%APPDATA%MicrosoftOutlook" /y

il est préférable de mettre une signature electronique sur ton projet
vba comme cela une fois le certificat installé il n'y aura plus de
confirmation d'ouverture des macros.


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





Merci encore, et surement à bientôt pour de nouvelles questions.


*Fabrice N." <"f.nebbia" dans le domaine "technicn.com <"f.nebbia"
dans le domaine "technicn.com"> que je salue a écrit *:
Bonjour,

Il n'y a pas d'option pour ça dans Outlook ( en tout cas, pas que
je
sache ).
En principe, ça se paramètre côté serveur Exchange...

Après, une autre solution peut-être de passer par VBA.
En analysant la taille des pièces joint lors de l'envoi et en
annulant si la taille est dépassée...



Oui c'est exactement comme cela, il faut une macro qui vérifie la
taille lors de l'envoi

il existe des Addon payant faisant cela mais je suis sympa alors :

Dans cet exemple "très complet" ;-))) a copier dans
THISOUTLOOKSESSION
il y a 3 vérif
le première au dela de 3 mo on demande de zipper
la deuxième au dela de 5 mo on demande de confirmer l'envoi
la dernière au dela de 10 mo envoi impossible.

si vous n'avez rien pour zipper commentez le bloc if de la première
verif
'############################################
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
Boolean)
'By Oliv' 9/02/2007
Dim prompt As String
Dim taille, pieces
Dim objCurrentMessage As MailItem

If Not Item.Class = olMail Then GoTo fin

Set objCurrentMessage = Item
On Error GoTo 0

objCurrentMessage.Save

'#######première verif#######
If objCurrentMessage.Attachments.Count > 0 Then firstattch = _
objCurrentMessage.Attachments.Item(1)
If objCurrentMessage.Size * 1.33 > 3000000 And firstattch <> _
"Documents.zip " Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Voulez-vous Zipper les pièces jointes ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail est"
_
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces _
& " pièces jointes" & vbCr & vbCr & "Z I P P E R ?"
If MsgBox(prompt, vbYesNo + vbQuestion, Title) = vbYes Then
'ici la macro qui va zipper le contenu des PJ
'décommenter les 2 lignes ci-dessous
'zip
'objCurrentMessage.Save
End If
End If

'#######deuxième verif#######
If objCurrentMessage.Size * 1.33 > 5000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Etes-vous sûr de vouloir envoyer ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail est"
_
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
" pièces jointes" & vbCr & vbCr & "E N V O Y E R ?"
If MsgBox(prompt, vbYesNo + vbExclamation, Title) = vbNo Then
Cancel = True
GoTo fin
End If
End If

'#######dernière verif#######
If objCurrentMessage.Size * 1.33 > 10000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Envoi impossible"
prompt = Item.Subject & vbCr & vbCr & "Votre mail est" _
& " trop volumineux : " & vbCr & taille & " Mo" & vbCr & pieces & _
"pièces jointes" & vbCr & vbCr & "Envoi impossible"
MsgBox prompt, vbOKOnly + vbExclamation, Title
Cancel = True
End If
fin:
End Sub
'############################################

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~













Avatar
Oliv'
*Emmanuel Jaeckert que je salue a écrit *:
En effet, ça peut avoir des effets de bord, mais ça peut aussi
permettre d'harmoniser sur un parc les différentes config.

Par contre, concernant les signatures électroniques, peux tu m'en dire
plus ou m'aiguiller vers des liens intéressants ?

Merci d'avance.


il faut en créer un avec SELFCERT ("certificat numérique pour les projets
VBA" dans démarrrer / MO/ outils microsoft office)
et l'ajouter à ton projet. (VBE /outils /signature électronique)
Pour les autres utilisateurs il faut afficher le détail du certificat et
l'installer puis à la réouverture on peu cocher la case qui mémorise la
confiance.

Oliv'

"Fabrice N." <"f.nebbia" dans le domaine "technicn.com"> a écrit dans
le message de news:
Je veux pas être chiant, mais avec cette méthode, tu récupère tout le
projet VBA et donc toutes les macros qui existe.
Si il y a des macros spécifiques sur un poste, tu vas les écraser
comme ça non ?

A+

"Oliv'" a écrit dans le
message de news: %23g6z$

*Emmanuel Jaeckert que je salue a
écrit *:
Merci bien pour cet exemple "très complet" :)

J'avais commencé à regarder comment je pourrais faire une telle
macro
mais il me manquait le item.save pour obtenir la taille !
Reste à voir comment je pourrais déployer ça sur tout mon parc.


Facile !!
dans le script d'ouverture de session tu copies TON VbaProject.OTM
(macros)
et TON outcmd.dat (pour les barres d'outils)
dans
C:Documents and SettingsLE PROFILApplication
DataMicrosoftOutlook
plus simplement emploi cette syntaxe
%appdata%MicrosoftOutlook


cela donne donc
copy %logonserver%netlogonVbaProject.OTM
"%APPDATA%MicrosoftOutlook" /y

il est préférable de mettre une signature electronique sur ton
projet vba comme cela une fois le certificat installé il n'y aura
plus de confirmation d'ouverture des macros.


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





Merci encore, et surement à bientôt pour de nouvelles questions.


*Fabrice N." <"f.nebbia" dans le domaine "technicn.com <"f.nebbia"
dans le domaine "technicn.com"> que je salue a écrit *:
Bonjour,

Il n'y a pas d'option pour ça dans Outlook ( en tout cas, pas que
je
sache ).
En principe, ça se paramètre côté serveur Exchange...

Après, une autre solution peut-être de passer par VBA.
En analysant la taille des pièces joint lors de l'envoi et en
annulant si la taille est dépassée...



Oui c'est exactement comme cela, il faut une macro qui vérifie la
taille lors de l'envoi

il existe des Addon payant faisant cela mais je suis sympa alors :

Dans cet exemple "très complet" ;-))) a copier dans
THISOUTLOOKSESSION
il y a 3 vérif
le première au dela de 3 mo on demande de zipper
la deuxième au dela de 5 mo on demande de confirmer l'envoi
la dernière au dela de 10 mo envoi impossible.

si vous n'avez rien pour zipper commentez le bloc if de la
première verif
'############################################
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As _
Boolean)
'By Oliv' 9/02/2007
Dim prompt As String
Dim taille, pieces
Dim objCurrentMessage As MailItem

If Not Item.Class = olMail Then GoTo fin

Set objCurrentMessage = Item
On Error GoTo 0

objCurrentMessage.Save

'#######première verif#######
If objCurrentMessage.Attachments.Count > 0 Then firstattch = _
objCurrentMessage.Attachments.Item(1)
If objCurrentMessage.Size * 1.33 > 3000000 And firstattch <> _
"Documents.zip " Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Voulez-vous Zipper les pièces jointes ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail
est" _
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces _
& " pièces jointes" & vbCr & vbCr & "Z I P P E R ?"
If MsgBox(prompt, vbYesNo + vbQuestion, Title) = vbYes Then
'ici la macro qui va zipper le contenu des PJ
'décommenter les 2 lignes ci-dessous
'zip
'objCurrentMessage.Save
End If
End If

'#######deuxième verif#######
If objCurrentMessage.Size * 1.33 > 5000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Etes-vous sûr de vouloir envoyer ?"
prompt = Item.Subject & vbCr & vbCr & "Attention votre mail
est" _
& " très volumineux : " & vbCr & taille & " Mo" & vbCr & pieces &
_ " pièces jointes" & vbCr & vbCr & "E N V O Y E R ?"
If MsgBox(prompt, vbYesNo + vbExclamation, Title) = vbNo Then
Cancel = True
GoTo fin
End If
End If

'#######dernière verif#######
If objCurrentMessage.Size * 1.33 > 10000000 Then
taille = Round(objCurrentMessage.Size * 1.33 / 1000000, 2)
pieces = objCurrentMessage.Attachments.Count
Title = "Envoi impossible"
prompt = Item.Subject & vbCr & vbCr & "Votre mail est" _
& " trop volumineux : " & vbCr & taille & " Mo" & vbCr & pieces &
_ "pièces jointes" & vbCr & vbCr & "Envoi impossible"
MsgBox prompt, vbOKOnly + vbExclamation, Title
Cancel = True
End If
fin:
End Sub
'############################################

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~