Vendredi 14 Décembre 2018  
Navigation
FAQ Outlook
» Foire Aux Questions «
Recherche
Téléchargements
Forums Outlook
Plan du site
Liens
Login

Les inscriptions sont fermées

Pseudo

Mot de passe

Se souvenir de moi



Mot de passe oublié ? Mot de passe oublié ?
Connexions
Bienvenue à [FAMACLUB]
le 1,414ème membre
Visiteurs en ligne : 3
Membres en ligne : 0

 jcgdisle 3 semaines
 EMERGENCY 24 semaines
 beaulieu 35 semaines
 callaghi 39 semaines
 Charlie76 45 semaines
 joscopp 55 semaines
 JièL 56 semaines
 julbast 56 semaines
 pirobert 57 semaines
 zorro71 80 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:1 047
En ligne :3
Max. en ligne:312
Max. / jour:66 529
Total hier:3 189
Total ce mois:58 265
Total visites:20 790 596
Moyenne/jour:5 645

Dernières 24h

























Publicité ; elle permet de financer le site
Navigation parmi les catégories/articles
« Catégorie     Q15000 Macros - VBA (41)  Catégorie »
[<<]  « Article  Article »  [>>]
R15350 [VBA] Choix du compte selon les destinataires
Permet de choisir entre différents COMPTES selon les destinataires.
Correspond au menu "Comptes" à coté de "Envoyer"

Function Set_Account(ByVal AccountName As String, M As Outlook.MailItem) As String

'Créée par Sue Mosher http://www.outlookcode.com/codedetail.aspx?id=889

'et modifiée par Oliv' pour OUTLOOK 2003

Dim OLI As Outlook.Inspector

Dim strAccountBtnName As String

Dim intLoc As Integer

Const ID_ACCOUNTS = 31224

Dim CBs As Office.CommandBars

Dim CBP As Office.CommandBarPopup

Dim MC As Office.CommandBarControl
Set OLI = M.GetInspector

If Not OLI Is Nothing Then

Set CBs = OLI.CommandBars
Set CBP = CBs.FindControl(, ID_ACCOUNTS)

CBP.Reset


If Not CBP Is Nothing Then

For Each MC In CBP.Controls

intLoc = InStr(MC.Caption, " ")

If intLoc > 0 Then

strAccountBtnName = Mid(MC.Caption, intLoc + 1)

Else

strAccountBtnName = MC.Caption

End If

If strAccountBtnName = AccountName Then


MC.Execute

Set_Account = AccountName

GoTo Exit_Function

End If

Next

End If

End If

Set_Account = ""

Exit_Function:

Set MC = Nothing

Set CBP = Nothing

Set CBs = Nothing

Set OLI = Nothing

End Function


' SOIT en execution manuelle ou dans une macro

Private Sub test_account_easy()

Dim oitem As Outlook.MailItem
Set oitem = ActiveInspector.CurrentItem

MsgBox oitem.Recipients.Count & " destinataires"

Dim toto

'Ici on boucle sur tous les destinataires à la recherche de la concordance.

For Each toto In oitem.Recipients

If toto.Address Like "*mon@destinataire.fr*" Or toto.Address _
Like "*@destinataire.fr*" Then

ici = True

MsgBox toto.Address

Else:

ici = False

' on quitte la boucle si un seul ne concorde pas

Exit For

End If

Next toto

If Not ici = True Then

go = Set_Account("pop.easynet.fr", oitem)

Else

go = Set_Account("Serveur Microsoft Exchange", oitem)

End If

End Sub



'Soit en Automatique à l'envoi

Private Sub Application_ItemSend(ByVal Item AS Object, Cancel As Boolean)
Dim toto

'Ici on boucle sur tous les destinataires à la recherche de la concordance.

For Each toto In Item.Recipients

'Si un destinataire correspond on quitte la boucle et applique le compte

If toto.Address Like "*mon@destinataire.fr*" Then

ici = True

Exit for

Else:

ici = False


End If

Next toto

If Not ici = True Then

go = Set_Account("pop.easynet.fr", Item)

Else

go = Set_Account("Serveur Microsoft Exchange", Item)

End If

End Sub




Publié par Oliv le lundi 26 mars 2007 10:57 2 Commentaires 12297 Lecture(s) Imprimer
Commentaires
#1 | boulou6708 le lundi 18 février 2008 18:54
Bonjour,
J'ai trouvé très interessant cette macro, je l'ai testé mais j'ai une erreur sur CBP.Reset Erreur d'execution 91 Variable objet ou variable de bloc With non définie ???
Pouvez vous m'aider Merci
#2 | ... le mercredi 18 août 2010 12:11
Le code s'exécute correctement, en pas à pas on voit que le compte change bien.
Par contre concrètement le compte par defaut n'est pas changé, et le mail est envoyé via le compte par defaut.
Je ne pose pas de question, j'informe Shock
Copyright et partage
Ce site est sous licence Creative Commons.
Vous pouvez utiliser toutes les informations présentent ici, mais il vous est interdit de les reproduire sans citer la source.

Creative Commons License
OUI au partage
NON au « copillage »

Ajouter aux favoris / partager : 
URL :
BBcode :
HTML :
Cliquez ci dessus sur le lien que vous voulez copier et [Ctrl] + [C] ou cliquez sur le bouton [ C ]
Articles similaires
Articles Catégories
R06032 Utiliser l'archivage automatique avec les dates de réception Q06000 Les fichiers d'Outlook
R15045 [VBA] Ouvrir l'arborescence des pst contenant une boîte de réception Q15000 Macros - VBA
R15930 [VBA] Création de menu dans outlook Q15000 Macros - VBA
R17070 VSTO et les formulaires d'Outlook 2007 Q17000 Formulaires
R15380 [VBA] Envoi via VBA : suppression de la confirmation d'envoi Q15000 Macros - VBA
Nuage de tags
R04050 Modifier une pièce jointe DANS un message, R08160 L'entête du mail ne s'imprime pas (XP SP2 et IE7), R00110 Vérifier une adresse mail avant d'envoyer un message, R00060 Envoyer de GROS fichiers, R05010 Ne pas imprimer la liste des (nombreux) destinataires d'un message, R10005 Copier le PST, R09005 Différence entre « Carnet d'adresses » et « Contacts », R00090 Noms des serveurs POP, IMAP, SMTP et Webmail des principaux FAI, R01090 Demander un accusé de réception / lecture, R15600 [VBA] ajouter un dossier contact et le définir en tant que carnet d'adresses, R11030 Importer tout ou partie d'un fichier .PST, R01160 Configurer un compte « POP before SMTP » (exemple : Laposte.net), R01060 Définir une adresse de retour différente, temporairement, R07080 Ajouter un expéditeur indésirable, R01160 Configurer un compte « POP before SMTP » (exemple : Laposte.net)

aucun Crack, CrackZ, no-CD, DownloadZ, TelechargementZ, Serial, Numéro de série, N0 de série, Serialz ni Keygen pour Outlook sur ce site.

Blague aléatoire
Publicité
Météo Marseille
[/\] Copyright JièL / Jean-Louis Goubert © 2003-2009 [/\]