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
Sommaire→Automation→Autres
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


