Dimanche 17 Décembre 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 : 5
Membres en ligne : 0

 callaghi 2 semaines
 joscopp 4 semaines
 JièL 4 semaines
 julbast 4 semaines
 pirobert 5 semaines
 EMERGENCY 7 semaines
 zorro71 28 semaines
 Alphator 47 semaines
 ande 52 semaines
 Oliv 54 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:1 506
En ligne :5
Max. en ligne:312
Max. / jour:66 529
Total hier:4 359
Total ce mois:78 597
Total visites:18 850 236
Moyenne/jour:5 676

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 11590 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
R06020 Réduire la taille du .PST, R06050 Ouvrir un dossier d'archive (ou un autre .PST), R15045 [VBA] Ouvrir l'arborescence des pst contenant une boîte de réception, R05020 Modifier la police et la taille des caractères imprimés dans l’en-tête, R01030 Afficher des colonnes d'informations importantes sur les messages, R17002 Objets d'un formulaire, R99070 Réglages masqués, R99040 Drag and Drop, R15060 [VBA] Attribuer un raccourci clavier à une macro., R99030 Faut deviner ?, R08010 Débloquer la boite d'envoi, R10080 Sauvegardez ses « Catégories » personnalisées et ses « Emplacements » ou lieux de rendez-vous, R15340 [VBA] Obliger la saisie d'un sujet, R01040 Laisser une copie de message sur le serveur, R15050 [VBA] Modifier l'affichage sur tous les dossiers et sous-dossiers

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