Afficher un autre sender dans Outlook

Afficher un autre sender dans Outlook - VB/VBA/VBS - Programmation

Marsh Posté le 14-01-2022 à 13:16:39    

Bonjour,
Sur le client lourd Outlook, j'ai un compte utilisateur configuré avec ma BAL nominative + des BAL partagées.
Ce que je cherche à faire : lorsque je clique sur le bouton "Nouveau courrier", en fonction du répertoire sélectionné dans le bandeau de gauche (un répertoire au pif de l'une des BAL), retrouver la BAL à qui appartient le répertoire sélectionné et mettre dans le champ "de" du nouveau mail, le nom de la BAL qui a été trouvée.
 
Récupérer le nom de la BAL ne pose pas de souci mais quand je la renseigne dans la propriété .SentOnBehalfOfName de mon objet MailItem, et que je fais un .Display de mon objet MailItem, je ne vois pas de changement à l'affichage. Pourtant, si je renseigne le champ "à" et que j'envoie le mail, le message est bien dans les éléments envoyés de ma BAL partagée + dans les éléments envoyés de ma BAL nominative.
 
Une idée de comment réussir à changer le "de", svp ?
 
Merci.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 14-01-2022 à 13:16:39   

Reply

Marsh Posté le 14-01-2022 à 18:16:21    

Tant qu'on y est, une idée de comment appeler en VBA une fonction dont le nom est stocké dans une variable ?
J'ai trouvé Callbyname() mais ça marche pour les fonctions d'un objet. Moi, je veux appeler une bête fonction.
 
Merci :jap:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-01-2022 à 00:02:23    

Salut, appel fonction dans variable : https://www.excel-downloads.com/thr [...] ost-528371
Sinon Recherche dans : https://www.qwant.com/?client=brz-m [...] able&t=web
A+


Message édité par kiki29 le 15-01-2022 à 00:04:12

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Marsh Posté le 15-01-2022 à 10:54:43    

Application.Run ne marche que dans Excel tout comme Evaluate() :o
Ton lien Qwant ne concerne que Excel et pas Outlook donc pas applicable. J'ai déjà fait pas mal de recherches hier mais sans succès :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-01-2022 à 18:28:34    

Reply

Marsh Posté le 15-01-2022 à 19:53:50    

Merci pour ces messages d'une ultime qualité. :sarcastic:  
 
Non mais sérieusement, un débutant qui pose une question lambda on peut lui dire "va voir Google", mais t'imagines pas qu'un gars comme rufo avec 15000 messages et dév professionnel sait utiliser et a utilisé un moteur de recherche déjà?

Reply

Marsh Posté le 15-01-2022 à 20:07:18    

Ben surtout que ces 2 liens pointent sur des résultats de recherche à côté de la plaque :/
Le premier résultat qui sort de Qwant, c'est "outlook - Calling a Variable on the Command Line in VBA ..."
Et dans Google, j'ai "Appeler des procédures Sub et Function (VBA) | Microsoft Docs".
 
Si c'était facile à trouver, j'aurais trouvé. Après, même si effectivement je suis dév pro et suis un habitué de ce forum, ça n'empêche pas que je pourrais être passé à côté de l'info. Mais là, je ne pense pas :ange:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 16-01-2022 à 11:30:08    

Salut, effectivement, perso je n'ai plus Outlook depuis longtemps mais Thunderbird, ceci expliquant cela.


---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Marsh Posté le 16-01-2022 à 12:41:39    

Là où je bosse, on est passé de Thunderbird à Outlook et apparemment, MS n'a pas jugé utile de conserver le notion de modèle de mail comme on a dans Thunderbird (émetteur renseigné, destinataires et en copie, corps du mail et signature). :/
Et ceux qui ont choisi de déployer la solution n'ont pas penser que cette fonction était utilisée pour des choses importantes... :o Du coup, la seule solution que j'ai trouvée, c'est de coder une macro.
 
En plus, le truc piégeux, c'est que le champ "de" n'est pas affiché par défaut et quand on clique sur le bouton "nouveau courrier" à partir d'une BAL partagée, le champ "de" est toujours celui de la BAL par défaut :/


Message édité par rufo le 16-01-2022 à 12:43:07

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 16-01-2022 à 20:56:54    

Re, Ah les "Muttawas".
Pourquoi ne pas poster sur Excel-Downloads :  https://www.excel-downloads.com/for [...] ations.22/
ou Developpez.net : https://www.developpez.net/forums/f [...] a-outlook/


Message édité par kiki29 le 16-01-2022 à 21:01:10

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Marsh Posté le 16-01-2022 à 20:56:54   

Reply

Marsh Posté le 17-01-2022 à 07:53:24    

Salut,
 
J'ai trouvé un gars qui avait aussi des soucis avec SentOnBehalfOfName
Il a reussi apparemment en passant par .sender
 
https://stackoverflow.com/questions [...] halfofname

Reply

Marsh Posté le 17-01-2022 à 08:09:23    

Merci, je vais tester ça aujourd'hui. La difficulté c'est que sender contient normalement un compte utilisateur et souvent, les exemples trouvés, c'est pour passer du compte par défaut à un autre compte enregistré. Moi, j'ai qu'un seul compte car les BAL partagées ne sont pas vues comme des comptes utilisateurs :/ Ce qui explique que lorsque je mets l'adresse d'une BAL partagée dans la propriété SentOnBehalfOfName , ça ne s'affiche pas certes dasn l'IHM mais quand j'envoie le mail, il part bien avec comme sender, l'adresse mail que j'ai mise. Toutefois, le mail envoyé se trouve à la fois dans les éléments envoyés de la BAL partagé ET de ma BAL nominative (mon compte utilisateur).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 17-01-2022 à 08:45:41    

Apparemment, c'est juste un moyen détourné pour changer SentOnBehalfOfName :
 

mail.Recipients.Add(mail.SentOnBehalfOfName);
mail.Recipients.ResolveAll();
var adressEntry = mail.Recipients[mail.Recipients.Count].AddressEntry;
mail.Recipients.Remove(mail.Recipients.Count);
mail.Sender = adressEntry;


 
Si j'ai bien compris, après ces ligne il n'y aura plus que les infos de ton SentOnBehalfOfName dans le .sender

Reply

Marsh Posté le 17-01-2022 à 09:38:17    

C'est bon, ça marche mais le code donné n'était pas tout à fait le bon (bon après, c'était pas du VBA) :

Code :
  1. Dim NewSenderAddr
  2. NewItemMail.Recipients.Add (NewItemMail.SentOnBehalfOfName)
  3. NewItemMail.Recipients.ResolveAll
  4. Set NewSenderAddr = NewItemMail.Recipients.Item(NewItemMail.Recipients.Count).AddressEntry
  5. NewItemMail.Recipients.Remove (NewItemMail.Recipients.Count)
  6. NewItemMail.Sender = NewSenderAddr
  7. NewItemMail.Display


 
Merci  :bounce:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 17-01-2022 à 10:08:59    

:jap:

Reply

Marsh Posté le 17-01-2022 à 10:53:13    

Bon, maintenant, plus qu'à trouver comment remplacer Callbyname() qui ne marche apparemment que pour des méthodes d'un objet et pas une belle fonction :/
Purée, ce qu'il faut pas faire pour avoir la fonction "modèle" (comme celle de Thunderbird et pas les modèles de réponse simpliste ou "action rapide" ) sur la dernière version d'Outlook.  :pfff:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 18-01-2022 à 09:28:44    

J'avoue que j'ai encore du mal avec la notion d'objet...
Tu ne peux pas mettre ta fonction dans une classe, et l'appeler en tant que methode ?
Sinon j'ai entendu parler de Application.Run qui peut remplacer CallByName()

Reply

Marsh Posté le 18-01-2022 à 09:48:29    

Application.Run ne marche que pour Excel.
Oui, c'est ce que j'ai fait, je suis passé par un objet dans lequel j'ai mis toutes mes fonctions que je veux appeler via un nom de fonction stocké dans une variable. Mais bon, je trouve ça dommage de me trainer un fichier supplémentaire de classe :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed