Les meilleurs sources pour ExcelConsultez toutes les FAQ

Nombre d'auteurs : 10, nombre de questions : 65, dernière mise à jour : 8 février 2020 

 
OuvrirSommaireAutomationAutres

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.

Créé le 15 mai 2007  par SilkyRoad

Téléchargement : Exemple

Pilotez Windows Média Player en VBA Excel.

Le tutoriel.

Créé le 15 mai 2007  par SilkyRoad

Pilotez Open Office en VBA Excel.

Le tutoriel.

Créé le 16 mai 2007  par SilkyRoad

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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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.

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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) ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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é ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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 ?

Vba
Sélectionnez
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
Créé le 17 juin 2007  par SilkyRoad
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.