Les meilleurs sources pour Excel
Les meilleurs sources pour ExcelConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 65, dernière mise à jour : 26 mars 2022
Pilotez des animations Flash dans les classeurs Excel.
Un exemple de source VBA Excel pour:
Visualiser les animations dans un classeur.
Piloter et manipuler les animations par macro.
Toutes les procédures ont été Testées avec XL97,XL2000,XL2002 , Flash.8 et WinXP.
Tutoriel: Piloter une animation Flash en VBA.
Téléchargement : Exemple
Pilotez Windows Média Player en VBA Excel.
Le tutoriel.
Pilotez Open Office en VBA Excel.
Le tutoriel.
Vous trouverez ci joint quelques exemples pour piloter MSN Messenger et Windows Messenger depuis Excel.
Exemples testés avec Windows XP, Excel2002, Windows Messenger 4.7 et
MSN Messenger 7.5.
Cette 1ere partie présente des procédures qui fonctionnent dans les 2 applications:
Q. Comment vérifier si une session est ouverte ?
Sub
verifierConnectionSession_MESSENGER
(
)
'nécessite d'activer la référence "Messenger API Type Library"
Dim
objMessenger As
MessengerAPI.Messenger
Set
objMessenger =
New
MessengerAPI.Messenger
If
objMessenger.MyStatus
=
MISTATUS_OFFLINE Or
MISTATUS_UNKNOWN Then
MsgBox
"non connecté"
Else
MsgBox
"connecté"
End
If
End
Sub
Q. Comment fermer la session ?
Sub
fermerSession_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Set
Msn =
New
MessengerAPI.Messenger
Msn.Signout
End
Sub
Q. Comment afficher le nombre de contacts ?
Sub
nombreContacts_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Dim
Contacts As
IMessengerContacts
Set
Msn =
New
MessengerAPI.Messenger
Set
Contacts =
Msn.MyContacts
MsgBox
Contacts.Count
End
Sub
Q. Comment boucler sur l'ensemble des contacts et afficher des informations sur chacun d'entre eux ?
Sub
listeEtInformationsContacts_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Dim
Contacts As
MessengerAPI.IMessengerContacts
Dim
Contact As
MessengerAPI.IMessengerContact
Set
Msn =
New
MessengerAPI.Messenger
Set
Contacts =
Msn.MyContacts
For
Each
Contact In
Contacts
Debug.Print
Contact.SigninName
Debug.Print
Contact.Status
Debug.Print
Contact.FriendlyName
Next
End
Sub
Q. Comment ajouter un contact ?
Sub
ajoutContact_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
'pour Windows messenger ,la creation est effectuee automatiquement
'pour MSN messenger ,la procedure affiche la boite de dialogue de creation
Dim
objMessenger As
MessengerAPI.Messenger
Set
objMessenger =
New
MessengerAPI.Messenger
objMessenger.AddContact
0
, "nouveauContact@hotmail.fr"
End
Sub
Q. Comment supprimer un contact ?
Sub
supprimerContact_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Dim
Contacts As
MessengerAPI.IMessengerContacts
Dim
Contact As
MessengerAPI.IMessengerContact
Set
Msn =
New
MessengerAPI.Messenger
Set
Contacts =
Msn.MyContacts
Set
Contact =
Msn.GetContact
(
"leProfil@hotmail.com"
, Msn.MyServiceId
)
Contacts.Remove
Contact
End
Sub
Q. Comment afficher des informations sur un contact spécifique ?
Sub
informationsContactSpecifique_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Dim
Contact As
MessengerAPI.IMessengerContact
Set
Msn =
New
MessengerAPI.Messenger
Set
Contact =
Msn.GetContact
(
"leProfil@hotmail.com"
, Msn.MyServiceId
)
Debug.Print
Contact.SigninName
Debug.Print
Contact.Status
Debug.Print
Contact.FriendlyName
End
Sub
Q. Comment bloquer ou débloquer un contact ?
Sub
bloquerUnContact_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Dim
Contact As
MessengerAPI.IMessengerContact
Set
Msn =
New
MessengerAPI.Messenger
Set
Contact =
Msn.GetContact
(
"leProfil@hotmail.com"
, Msn.MyServiceId
)
Contact.Blocked
=
True
'et pour le débloquer
'Contact.Blocked = False
End
Sub
Q. Comment intercepter l'évènement "réception des messages instantanés" ?
Insérez cette procedure dans un UserForm.
Si vous recevez un message instantané alors que l'USF est affiché, un MsgBox indique le nom de l'émetteur et le contenu du message.
Option
Explicit
Public
WithEvents msn As
MsgrObject
Private
Sub
UserForm_Initialize
(
)
Set
msn =
New
MsgrObject
End
Sub
Private
Sub
msn_OnTextReceived
(
ByVal
pIMSession As
Messenger.IMsgrIMSession
, _
ByVal
User As
Messenger.IMsgrUser
, ByVal
bstrMsgHeader As
String
, _
ByVal
Usersay As
String
, pfEnableDefault As
Boolean
)
MsgBox
"Vous avez reçu un message de : "
&
User.FriendlyName
&
vbLf
_
&
vbLf
&
Usersay
End
Sub
Cette 2eme partie présente des procédures spécifiques à MSN Messenger.
Q. Comment afficher la boîte de dialogue pour se connecter ?
Sub
afficherBoiteDialogue_ouvertureSession_MSN_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Set
Msn =
New
MessengerAPI.Messenger
Msn.Signin
0
, "monProfil@hotmail.fr"
, "password"
'
'si vous avez paramétré automatiquement le profil et le mot de passe:
'Msn.AutoSignin
End
Sub
Q. Comment compter le nombre de messages contenus dans la boite de réception (hotmail) ?
Sub
nombreMessagesBoiteReception_MSN_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Set
Msn =
New
MessengerAPI.Messenger
MsgBox
Msn.UnreadEmailCount
(
MUAFOLDER_INBOX)
End
Sub
Q. Comment afficher quelques informations sur mon profil ?
Sub
informations_monProfil_MSN_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Set
Msn =
New
MessengerAPI.Messenger
Debug.Print
Msn.MyFriendlyName
Debug.Print
Msn.MyPhoneNumber
(
MPHONE_TYPE_MOBILE)
Debug.Print
Msn.MyPhoneNumber
(
MPHONE_TYPE_WORK)
Debug.Print
Msn.MyPhoneNumber
(
MPHONE_TYPE_HOME)
Debug.Print
Msn.MySigninName
Debug.Print
Msn.MyStatus
Debug.Print
Msn.MyServiceId
Debug.Print
Msn.MyServiceName
End
Sub
Q. Comment afficher la page de création d'un mail ?
Sub
pageEnvoiMail_MSN_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Dim
Contact As
MessengerAPI.IMessengerContact
Set
Msn =
New
MessengerAPI.Messenger
Set
Contact =
Msn.GetContact
(
"leProfil@hotmail.fr"
, Msn.MyServiceId
)
Msn.SendMail
Contact
End
Sub
Q. comment afficher la fenêtre d'envoi de message instantané ?
Sub
fenetreEnvoiMessageInstantane_MSN_MESSENGER
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Dim
Contact As
MessengerAPI.IMessengerContact
Set
Msn =
New
MessengerAPI.Messenger
Set
Contact =
Msn.GetContact
(
"leProfil@hotmail.com"
, Msn.MyServiceId
)
Msn.InstantMessage
Contact
End
Sub
Q. Comment récupérer votre version de MSN Messenger ?
Dim
Msn As
MessengerAPI.Messenger
Set
Msn =
New
MessengerAPI.Messenger
MsgBox
Hex
(
Msn.Property
(
MMESSENGERPROP_VERSION))
Set
Msn =
Nothing
Q. Comment changer l'image de la carte de visite ?
Sub
changerImageCarteVisite
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Set
Msn =
New
MessengerAPI.Messenger
Msn.MyProperty
(
2
) =
"C:\Documents and Settings\michel\dossier\nomimage.jpg"
End
Sub
Q. Comment afficher la boîte de réception Hotmail associée à votre session MSN ?
Sub
afficherBoiteReceptionHotMail
(
)
'cette procedure présume que votre session MSN est deja ouverte
Dim
Msn As
MessengerAPI.Messenger
Set
Msn =
New
MessengerAPI.Messenger
Msn.OpenInbox
End
Sub
Q. Comment afficher quelques boîtes de dialogue sur les paramètres MSN ?
Sub
afficherBoitesDialoguesParametresMSN
(
)
'necessite d'activer la reference "Messenger API Type Library"
Dim
Msn As
MessengerAPI.Messenger
Set
Msn =
New
MessengerAPI.Messenger
Msn.OptionsPages
0
, MOPT_ACCOUNTS_PAGE 'fenetre options generales
'Msn.OptionsPages 0, MOPT_CONNECTION_PAGE 'fenetre connection
'Msn.OptionsPages 0, MOPT_GENERAL_PAGE 'fenetre options personnelles
'Msn.OptionsPages 0, MOPT_PHONE_PAGE 'fenetre options telephone
'Msn.OptionsPages 0, MOPT_PRIVACY_PAGE 'fenetres options confidentielles
End
Sub
Q. Comment lister le nom des groupes ?
Sub
listerNomsGroupes
(
)
Dim
MSN As
MessengerAPI.Messenger
Dim
msGrpes As
IMessengerGroups
Dim
msGrp As
IMessengerGroup
Set
MSN =
New
MessengerAPI.Messenger
Set
msGrpes =
MSN.MyGroups
For
Each
msGrp In
msGrpes
MsgBox
msGrp.Name
Next
End
Sub
Q. Comment déplacer un contact (emailContact@hotmail.com) vers un groupe spécifique ?
Sub
deplacerContactExistantVersGroupeSpecifique
(
)
Dim
MSN As
MessengerAPI.Messenger
Dim
msGrpes As
IMessengerGroups
Dim
msGrp As
IMessengerGroup
Set
MSN =
New
MessengerAPI.Messenger
Set
msGrpes =
MSN.MyGroups
For
Each
msGrp In
msGrpes
If
msGrp.Name
=
"nomGroupe"
Then
msGrp.AddContact
"emailContact@hotmail.com"
Next
End
Sub
Cette 3eme partie présente des procédures spécifiques à Windows Messenger.
Q. Comment envoyer un message ?
Sub
envoiMessage_WINDOWS_MESSENGER
(
)
'necessite d'activer la reference "Messenger 1.0 Type Library"
Dim
objImsg As
Messenger.MsgrObject
Dim
Contact As
Messenger.IMsgrUser2
Dim
imHeader As
String
imHeader =
"Mime-Version: 1.0"
&
vbCrLf
&
_
"Content-Type: text/plain; charset=UTF-8"
&
vbCrLf
&
vbCrLf
Set
objImsg =
New
Messenger.MsgrObject
Set
Contact =
_
objImsg.CreateUser
(
"leProfilDestinataire@hotmail.com"
, objImsg.Services.PrimaryService
)
Contact.SendText
imHeader, "Bonjour , comment allez vous ?"
, MMSGTYPE_NO_RESULT
End
Sub
Q. Comment boucler sur l'ensemble des contacts et afficher des informations sur chacun d'entre eux ?
Sub
listeContacts_WINDOWS_MESSENGER
(
)
'necessite d'activer la reference "Messenger 1.0 Type Library"
Dim
Contact As
Messenger.IMsgrUser
Dim
X As
New
Messenger.MsgrObject
For
Each
Contact In
X.List
(
0
)
Debug.Print
Contact.LogonName
Debug.Print
Contact.EmailAddress
Debug.Print
Contact.FriendlyName
Debug.Print
Contact.State
Next
Contact
End
Sub
Q. Comment modifier votre statut de connexion ?
Sub
modifierStatutConnection_WINDOWS_MESSENGER
(
)
'necessite d'activer la reference "Messenger 1.0 Type Library"
Dim
Msn As
MsgrObject
Set
Msn =
New
MsgrObject
'Msn.LocalState = MSTATE_INVISIBLE 'hors connection
Msn.LocalState
=
MSTATE_AWAY 'Absent
'Msn.LocalState = MSTATE_ONLINE 'en ligne
'Msn.LocalState = MSTATE_BUSY 'occupé
'Msn.LocalState = MSTATE_BE_RIGHT_BACK 'de retour dans une minute
'Msn.LocalState = MSTATE_AWAY 'absent
'Msn.LocalState = MSTATE_ON_THE_PHONE 'au téléphone
'Msn.LocalState = MSTATE_OUT_TO_LUNCH 'parti manger
End
Sub