OVH Cloud OVH Cloud

Pas de "Nouvelle macro..." quand je déroule Outils/Macros

5 réponses
Avatar
pieridas
Pros de Outlook 2000 sous XP Home SP2, salut!

Contrairement à Word ou Excel 2000

dans Outlook 2000 depuis Outils/Macros pas d'option "Nouvelle macro..."

C'est normal ? Je crois avoir installé toutes les options Outllook pourtant.

Ca ne m'arrange pas du tout car je débute en vba et je cherche les commandes
vba pour

1) Cliquer Options...(de message) et cocher "Demander une confirmation de
lecture pour ce message"

2) puis Cliquer Envoyer

Merci d'avance pour les tuyaux

pieridas

5 réponses

Avatar
Oliv'
Pros de Outlook 2000 sous XP Home SP2, salut!

Contrairement à Word ou Excel 2000

dans Outlook 2000 depuis Outils/Macros pas d'option "Nouvelle
macro..."
C'est normal ? Je crois avoir installé toutes les options Outllook
pourtant.
Ca ne m'arrange pas du tout car je débute en vba et je cherche les
commandes vba pour

1) Cliquer Options...(de message) et cocher "Demander une
confirmation de lecture pour ce message"

2) puis Cliquer Envoyer

Merci d'avance pour les tuyaux

pieridas


non pas d'enregistreur de macro chez OUTLOOK .
ca complique effectivement la tache.

mais voici un bout de code qui doit répondre à ton attente à mettre dans
Thisoutlooksession
se declenche quand on envoi le mail si supérieur à 1000000 octets on peut
augmenter moi je met 5000000
mettre la sécurité des macro sur moyen.



Public WithEvents myOlApp As Outlook.Application

Public Sub Initialize_handler()


'MsgBox "Initialize "
Set myOlApp = CreateObject("Outlook.Application")
End Sub

'Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)

Dim prompt As String
Dim taille, pieces
Dim objCurrentMessage As MailItem
Dim objNS As NameSpace

MsgBox "envoi " ' mettre un guillemet devant une fois la fonction testée

Set objCurrentMessage = Item
objCurrentMessage.Save

If objCurrentMessage.Size * 1.33 > 1000000 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


Set objFolder = Nothing
Set objNS = Nothing
'Set objCurrentMessage = Nothing


fin:
End Sub





Private Sub Application_Startup()
MsgBox "Welcome"
Initialize_handler
End Sub



' au lancement d'outlook le programme dois te demander d'activer les macros
et indique welcome



--
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
les sites références:
Excel :http://www.excelabo.net http://xcell05.free.fr/
http://dj.joss.free.fr/
http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/
Word : http://faqword.free.fr/
Outlook :http://faq.outlook.free.fr/
Sql :http://sqlpro.developpez.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Avatar
pieridas

non pas d'enregistreur de macro chez OUTLOOK .
ca complique effectivement la tache.

mais voici un bout de code qui doit répondre à ton attente à mettre dans
Thisoutlooksession
se declenche quand on envoi le mail si supérieur à 1000000 octets on peut
augmenter moi je met 5000000
mettre la sécurité des macro sur moyen.



Public WithEvents myOlApp As Outlook.Application

Public Sub Initialize_handler()


'MsgBox "Initialize "
Set myOlApp = CreateObject("Outlook.Application")
End Sub

'Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)

Dim prompt As String
Dim taille, pieces
Dim objCurrentMessage As MailItem
Dim objNS As NameSpace

MsgBox "envoi " ' mettre un guillemet devant une fois la fonction testée

Set objCurrentMessage = Item
objCurrentMessage.Save

If objCurrentMessage.Size * 1.33 > 1000000 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


Set objFolder = Nothing
Set objNS = Nothing
'Set objCurrentMessage = Nothing


fin:
End Sub





Private Sub Application_Startup()
MsgBox "Welcome"
Initialize_handler
End Sub



' au lancement d'outlook le programme dois te demander d'activer les
macros et indique welcome




Merci Oliv' pour ce code intéressant.

Je vais tâcher d'en extraire ce qui devrait résoudre mon cas (qui doit être
plus simple):

Pour me résumer:

1) J'affiche un doc sous Word 2000 associé une belle macro (qui attache en
pièce jointe des pdf en fonction de champs de formulaires du document)
jusque là tout va bien

2) Je déroule Fichier/Envoyer vers/Destinataire...

et là Word affiche une barre d'outils typée Outlook comprenant les boutons
ci-dessous qui m'intéressent,
mais à ce stade l'enregistreur de macro refuse d'entregistrer mon clic sur
le bouton Options...(de message) de même que sur le bouton "Envoyer une
copie"


Salutations cordiales

pieridas

Avatar
Oliv'
non pas d'enregistreur de macro chez OUTLOOK .
ca complique effectivement la tache.

mais voici un bout de code qui doit répondre à ton attente à mettre
dans Thisoutlooksession
se declenche quand on envoi le mail si supérieur à 1000000 octets on
peut augmenter moi je met 5000000
mettre la sécurité des macro sur moyen.



Public WithEvents myOlApp As Outlook.Application

Public Sub Initialize_handler()


'MsgBox "Initialize "
Set myOlApp = CreateObject("Outlook.Application")
End Sub

'Private Sub Application_ItemSend(ByVal Item As Object, Cancel As
Boolean) Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel
As Boolean) Dim prompt As String
Dim taille, pieces
Dim objCurrentMessage As MailItem
Dim objNS As NameSpace

MsgBox "envoi " ' mettre un guillemet devant une fois la fonction
testée Set objCurrentMessage = Item
objCurrentMessage.Save

If objCurrentMessage.Size * 1.33 > 1000000 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


Set objFolder = Nothing
Set objNS = Nothing
'Set objCurrentMessage = Nothing


fin:
End Sub





Private Sub Application_Startup()
MsgBox "Welcome"
Initialize_handler
End Sub



' au lancement d'outlook le programme dois te demander d'activer les
macros et indique welcome




Merci Oliv' pour ce code intéressant.

Je vais tâcher d'en extraire ce qui devrait résoudre mon cas (qui
doit être plus simple):

Pour me résumer:

1) J'affiche un doc sous Word 2000 associé une belle macro (qui
attache en pièce jointe des pdf en fonction de champs de formulaires
du document) jusque là tout va bien

2) Je déroule Fichier/Envoyer vers/Destinataire...

et là Word affiche une barre d'outils typée Outlook comprenant les
boutons ci-dessous qui m'intéressent,
mais à ce stade l'enregistreur de macro refuse d'entregistrer mon
clic sur le bouton Options...(de message) de même que sur le bouton
"Envoyer une copie"


Salutations cordiales

pieridas


Ah non tu n'y arrivera pas avec le code que je t'ai envoyé. tu as mal
expliqué au départ.
ta macro tu l'executes à partir de word ou de outlook ?
Tu utilises word comme éditeur pour tes mails ?
tu veux envoyer ton fichier (word + un pdf) en piece jointe d'un mail ?
directement ou en repassant par OUtlook ?
--OLiv'


Avatar
pieridas

1) J'affiche un doc sous Word 2000 associé une belle macro (qui
attache en pièce jointe des pdf en fonction de champs de formulaires
du document) jusque là tout va bien

2) Je déroule Fichier/Envoyer vers/Destinataire...

et là Word affiche une barre d'outils typée Outlook comprenant les
boutons ci-dessous qui m'intéressent,
mais à ce stade l'enregistreur de macro refuse d'entregistrer mon
clic sur le bouton Options...(de message) de même que sur le bouton
"Envoyer une copie"


Salutations cordiales

pieridas


Ah non tu n'y arrivera pas avec le code que je t'ai envoyé. tu as mal
expliqué au départ.
ta macro tu l'executes à partir de word ou de outlook ?
Tu utilises word comme éditeur pour tes mails ?
tu veux envoyer ton fichier (word + un pdf) en piece jointe d'un mail ?
directement ou en repassant par OUtlook ?
--OLiv'



Merci OLiv' pour ta réponse

1) J'appelle d'abord mon document sous Word qui contient des champs de
formulaire que je renseigne (Word n'est pas mon éditeur de mails)

2) Je déroule Fichier/Envoyer vers/Destinataire...

(donc sous Word vient se greffer une partie d'écran supplémentaire style
Outlook qui contient une barre d'outils qui commence par "Envoyer une
copie", les champs A... Cc... et Objet:) On a sous les yeux l'écran d'Envoi
de message Outlook surmonté des barres d'outils et menus Word.

Mon document est prêt a être envoyé dans le corps du message en HTML (car je
ne veux pas l'envoyer en pièce jointe)

3) Je lance une macro associée à un bouton, elle va chercher des pdf qu'elle
attache en pièces jointes en fonction du contenu des champs de formulaires

Les pièces jointes sont bien récupérées et je peux saisir l'adresse du
destinataire.

4) A ce stade il me reste à dérouler Options...(des messages)/Cocher
"Demander une confirmation de lecture pour ce message"
5) à cliquer le bouton "Envoyer une copie"
6) et à quitter Word (sans sauver le document car c'est une sorte de modèle
utilisé 36 fois par jour).

Pour le moment je les exécute manuellement mais ce serait bien si je pouvais
les intégrer à la fin de ma macro.
Mais l'enregistreur de macro refuse obstinément d'enregistrer les opérations
4) et 5) donc je peux me brosser.

Merci de ton aide OLiv'

pieridas


Avatar
Oliv'

As tu trouvé la solution à ton problème ?
Oliv'

1) J'affiche un doc sous Word 2000 associé une belle macro (qui
attache en pièce jointe des pdf en fonction de champs de formulaires
du document) jusque là tout va bien

2) Je déroule Fichier/Envoyer vers/Destinataire...

et là Word affiche une barre d'outils typée Outlook comprenant les
boutons ci-dessous qui m'intéressent,
mais à ce stade l'enregistreur de macro refuse d'entregistrer mon
clic sur le bouton Options...(de message) de même que sur le bouton
"Envoyer une copie"


Salutations cordiales

pieridas


Ah non tu n'y arrivera pas avec le code que je t'ai envoyé. tu as mal
expliqué au départ.
ta macro tu l'executes à partir de word ou de outlook ?
Tu utilises word comme éditeur pour tes mails ?
tu veux envoyer ton fichier (word + un pdf) en piece jointe d'un
mail ? directement ou en repassant par OUtlook ?
--OLiv'



Merci OLiv' pour ta réponse

1) J'appelle d'abord mon document sous Word qui contient des champs de
formulaire que je renseigne (Word n'est pas mon éditeur de mails)

2) Je déroule Fichier/Envoyer vers/Destinataire...

(donc sous Word vient se greffer une partie d'écran supplémentaire
style Outlook qui contient une barre d'outils qui commence par
"Envoyer une copie", les champs A... Cc... et Objet:) On a sous les
yeux l'écran d'Envoi de message Outlook surmonté des barres d'outils
et menus Word.
Mon document est prêt a être envoyé dans le corps du message en HTML
(car je ne veux pas l'envoyer en pièce jointe)

3) Je lance une macro associée à un bouton, elle va chercher des pdf
qu'elle attache en pièces jointes en fonction du contenu des champs
de formulaires
Les pièces jointes sont bien récupérées et je peux saisir l'adresse du
destinataire.

4) A ce stade il me reste à dérouler Options...(des messages)/Cocher
"Demander une confirmation de lecture pour ce message"
5) à cliquer le bouton "Envoyer une copie"
6) et à quitter Word (sans sauver le document car c'est une sorte de
modèle utilisé 36 fois par jour).

Pour le moment je les exécute manuellement mais ce serait bien si je
pouvais les intégrer à la fin de ma macro.
Mais l'enregistreur de macro refuse obstinément d'enregistrer les
opérations 4) et 5) donc je peux me brosser.

Merci de ton aide OLiv'

pieridas