Lundi 21 Août 2017  
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 : 2
Membres en ligne : 0

 EMERGENCY 3 semaines
 callaghi 5 semaines
 JièL 7 semaines
 zorro71 12 semaines
 Alphator 30 semaines
 ande 36 semaines
 Oliv 38 semaines
 cubitus 41 semaines
 angel 51 semaines
 Quartzkyte 60 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:3 701
En ligne :2
Max. en ligne:312
Max. / jour:66 529
Total hier:4 701
Total ce mois:99 478
Total visites:18 114 772
Moyenne/jour:5 654

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 11328 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
R11060 Restaurer le carnet d'adresses personnel (.PAB), R99060 Solution RA-DI-CA-LE !, R15900 [VBA] Relever des boites pop sequentiellement (FREE), R08160 L'entête du mail ne s'imprime pas (XP SP2 et IE7), R00120 Gérer TOUS vos comptes Mails avec Mail2Web, R15040 [VBA] Parcourir tous les dossiers et sous-dossiers., R99150 Solution pour madame, R03110 Déplacer les messages lors de l'envoi, R15040 [VBA] Parcourir tous les dossiers et sous-dossiers., R09010 Compléter la saisie d’un destinataire (saisie auto ou saisie semi auto), R06010 Changer l'emplacement du .PST d'Outlook, R13060 Répondre à une demande de tâche, R13060 Répondre à une demande de tâche, R20050 Configurer un compte Yahoo pour Outlook 2002/2003, R02010 Connexion / Déconnexion automatique à Internet

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 [/\]