Dimanche 22 Octobre 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 12 semaines
 callaghi 14 semaines
 JièL 16 semaines
 zorro71 20 semaines
 Alphator 39 semaines
 ande 44 semaines
 Oliv 46 semaines
 cubitus 50 semaines
 angel 60 semaines
 Quartzkyte 69 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:1 051
En ligne :2
Max. en ligne:312
Max. / jour:66 529
Total hier:4 661
Total ce mois:111 106
Total visites:18 502 005
Moyenne/jour:5 667

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 11493 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
R01160 Configurer un compte « POP before SMTP » (exemple : Laposte.net), R11010 Restaurer TOUT Office 2003, R04060 Supprimer les pièces jointes d'un message, R21010 Ajouter une signature automatique aux messages (Outlook 2007), R00080 Ajouter le moteur de recherche de la FAQ à IE7, R00040 Interdire la modification des comptes de messagerie et de carnet d'adresses, R15450 [VBA] Supprimer automatiquement les éléments de + de x jours dans un dossier., R15280 [VBA] Exporter un mail et l'ouvrir dans IE avec ses images, R07020 Choisir un profil au démarrage d'Outlook, R05030 Modifier la police et la taille des caractères du corps du message, R03100 Pièces jointes reçues en winmail.dat ou ATT00001.dat ou invisibles, R01090 Demander un accusé de réception / lecture, R12010 Modifier l'affichage du calendrier, R13010 Modifier l'affichage de la liste des tâches, R17001 Principes sur les formulaires

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