IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Adapter dans Outlook des macros qui fonctionnent dans Word


Sujet :

VBA Outlook

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 159
    Points : 73
    Points
    73
    Par défaut Adapter dans Outlook des macros qui fonctionnent dans Word
    Bonjour le Forum,

    Je suis nouvellement passé de Outlook 2003 à Outlook 2013, et c'est rude (ruban + perte de la possibilité de créer un raccourci-clavier pour toute commande + perte de Word comme éditeur de messagerie + perte de l'usage de mes macros pour Word).
    Mais je viens de lire sur le site de Microsoft que la plupart des macros pour Word pouvaient être utilisées telles quelles dans Outlook.
    Je me suis précipité pour faire un essai : ça ne fonctionne pas...

    Voilà 2 exemples de macros créées sur Word et qui ne fonctionnent pas dans Outlook :
    une macro qui passe la ligne courante en rouge
    une macro qui insère une puce sans utiliser la souris (si associée à un raccourci-clavier)

    Quelqu'un pourrait-il me dire pq ça ne marche pas ?
    Merci !!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub Format_Police_Rouge_Ligne_entière()
        Selection.EndKey Unit:=wdLine
        Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
        With Selection.Font
            .Color = wdColorRed
        End With
        Selection.HomeKey Unit:=wdLine
    End Sub
    Sub Format_insérer_puce()
    '
        With ListGalleries(wdBulletGallery).ListTemplates(1).ListLevels(1)
            .NumberFormat = "–"
            .TrailingCharacter = wdTrailingTab
            .NumberStyle = wdListNumberStyleBullet
            .NumberPosition = CentimetersToPoints(0)
            .Alignment = wdListLevelAlignLeft
            .TextPosition = CentimetersToPoints(0.64)
            .TabPosition = CentimetersToPoints(0.64)
            .ResetOnHigher = 0
            .StartAt = 1
        End With
        ListGalleries(wdBulletGallery).ListTemplates(1).Name = ""
        Selection.Range.ListFormat.ApplyListTemplate ListTemplate:=ListGalleries( _
            wdBulletGallery).ListTemplates(1), ContinuePreviousList:=False, ApplyTo:= _
            wdListApplyToWholeList, DefaultListBehavior:=wdWord10ListBehavior
    End Sub

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,

    Outlook , n'est pas Word alors il faut instancier l'objet "WORD" dans outlook
    voici un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Copy_wordeditor()
     
        Dim outlookwordeditor
        Dim appOutlook As Outlook.Application
        Dim oMail    'As Outlook.MailItem
        Dim ObjwdSelection
     
        ' Set appOutlook = CreateObject("Outlook.Application")
        Set appOutlook = Application
        Set oMail = appOutlook.ActiveInspector.CurrentItem
        Set outlookwordeditor = oMail.GetInspector.WordEditor
     
        'ICI on utilise les intructions WORD précédée de outlookwordeditor.
        Set ObjwdSelection = outlookwordeditor.Application.Selection
        ObjwdSelection.Copy
     
    End Sub

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 159
    Points : 73
    Points
    73
    Par défaut
    Bonjour,

    Merci bcp pour ta réponse.
    Malheureusement, je suis une buse en VBA. Je sais juste bidouiller du code généré par l'enregistreur de macros...
    Si ce n'est pas trop demander, pourrais-tu adapter, par exemple, la macro qui change la couleur de police de la sélection ?
    Ça me permettra sans doute de décliner cette macro adaptée en macros pour passer le texte en noir, en bleu, etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Format_police_rouge()
    Selection.Font.Color = wdColorRed
    End Sub

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Voici qui devrait fonctionner lorsque le mail est ouvert dans une fenetre (<>mode inline)

    cependant cette macro n'a pas beaucoup d’intérêt telle quelle puisque cette option existe dans le ruban.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub Format_police_rouge()
     
        Dim outlookwordeditor
        Dim appOutlook As Outlook.Application
        Dim oMail    'As Outlook.MailItem
        Dim ObjwdSelection
     
        ' Set appOutlook = CreateObject("Outlook.Application")
        Set appOutlook = Application
        Set oMail = appOutlook.ActiveInspector.CurrentItem
        Set outlookwordeditor = oMail.GetInspector.WordEditor
     
        'ICI on utilise les intructions WORD précédée de outlookwordeditor.
        Set ObjwdSelection = outlookwordeditor.Application.Selection
     
        ObjwdSelection.Font.Color = wdColorRed
     
    End Sub

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 159
    Points : 73
    Points
    73
    Par défaut
    Rebonjour,

    Merci bcp pour ta réponse.
    J'ai implémenté la macro dans Outlook, mais ça ne produit pas le changement de couleur de police escompté (mais sans msg d'erreur).
    J'ai oublié de faire qqch ?

    Merci !

  6. #6
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    le mail est il bien ouvert dans une fenetre et non en mode Inline ?

    as tu bien lancé la macro ?

    as tu activé les macros ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 159
    Points : 73
    Points
    73
    Par défaut
    Réponses : oui / oui / oui

  8. #8
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut,
    as tu sélectionné du texte ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 159
    Points : 73
    Points
    73
    Par défaut
    Oui :o/

  10. #10
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    utilises le mode pas à pas (F8) pour voir ce qui se passe.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 159
    Points : 73
    Points
    73
    Par défaut
    Bonjour,

    Merci pour ta réponse.
    En mode pas à pas, le titre de la macro est surligné en jaune, puis................rien. J'ai beau cliquer sur la flèche &/ou appuyer sur F5, il ne se passe plus rien.

    Si c'est trop mystérieux, plutôt que de m'acharner à faire fonctionner dans Outlook des macros écrites pour Word (ce qui m'intéresse parce que je serais un peu autonome) je vais peut-être ouvrir un autre fil pour demander de l'aide pour écrire des macros "natives" équivalentes.

    Merci en tous cas pour ton aide jusque-là.

  12. #12
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    salut,
    essaye en ajoutant sous la première ligne

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 159
    Points : 73
    Points
    73
    Par défaut
    Bingo !

    Ca marche !

    Maintenant, je vais devoir me débrouiller pour en adapter d'autres (je devrai peut-être te re-solliciter...).
    Merci beaucoup.

  14. #14
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Dans Vbe il faut dans les options ajouter une référence à Microsoft word 14.0 Object library

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 159
    Points : 73
    Points
    73
    Par défaut
    OK.....mais on fait comment ?

    Merci.

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/01/2016, 13h58
  2. Réponses: 0
    Dernier message: 02/02/2011, 14h55
  3. Comment éviter que google répete des mots qui sont dans la description du meta tag
    Par tese84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/09/2006, 07h55
  4. Réponses: 2
    Dernier message: 16/02/2006, 23h09
  5. [Eclipse 2.1] des fichiers qui sautent dans WEB-INF/classes
    Par iubito dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 04/10/2004, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo