IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-Excel] Changement du curseur de ma souris


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    575
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 575
    Points : 262
    Points
    262
    Par défaut [VBA-Excel] Changement du curseur de ma souris
    Bonjour,

    Je souhaiterai, lorsque le curseur de ma souris se trouve sur un Label, le changer, le faire passer comme ceci


    J'utilise la propriété MouseMove, mais j'aimerai lui associé ce curseur.

    Merci d'avance

  2. #2
    Membre actif Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    575
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 575
    Points : 262
    Points
    262
    Par défaut
    Désolé, problème de chargement de mon curseur, le voici
    Images attachées Images attachées  

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    voir propriété MousePointer du label .. à placer à 99 , et le lien vers fichier icone dans propriété MouseIcon

  4. #4
    Membre actif Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    575
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 575
    Points : 262
    Points
    262
    Par défaut
    Citation Envoyé par bbil
    le lien vers fichier icone dans propriété MouseIcon
    Le truc c'est que je ne sais pas ou ce trouve l'icone et quelle extension il doit avoir.

    L'image que j'ai fait parvenir était un print écran

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Tiens voila ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub UserForm_Initialize()
     Label1.MouseIcon = LoadPicture("c:\windows\cursors\HARROW.CUR")
     Label1.MousePointer = fmMousePointerCustom
    End Sub
    aprés je sais pas si fichier toujours la .. pour le chemin de windows on peu utiliser environ("SystemRoot") .. mais pour le sous-répertoire cursors..

  6. #6
    Membre actif Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    575
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 575
    Points : 262
    Points
    262
    Par défaut
    Merci, je vais tester

  7. #7
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    A adapter pour VBA... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Option Explicit
    Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
    Private Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
    Private Declare Function SetSystemCursor Lib "user32" (ByVal hcur As Long, ByVal id As Long) As Long
    Private Declare Function GetCursor Lib "user32" () As Long
    Private Declare Function CopyIcon Lib "user32" (ByVal hIcon As Long) As Long
    Private Const OCR_NORMAL As Long = 32512
    Private curseurpresent As Long
    Private iconcurseurpresent As Long
     
    Private Sub Command1_Click()
      '===================je récupère d'abord (pour pouvoir au besoin le restituer) le curseur en cours
      curseurpresent = GetCursor()
      iconcurseurpresent = CopyIcon(curseurpresent)
      '=================================================================
      Dim myDir As String
      Dim lDir As Long
      myDir = Space(255)
      lDir = GetWindowsDirectory(myDir, 255)
      myDir = Left$(myDir, lDir) & "\cursors\"
      CommonDialog1.InitDir = myDir
      CommonDialog1.ShowOpen
      definitcurseur CommonDialog1.filename
    End Sub
     
    Private Sub Form_Activate()
      Command1.Caption = "choisir un curseur"
    End Sub
     
    Sub definitcurseur(lefic)
      Dim lecurseur As Long
      lecurseur = LoadCursorFromFile(lefic)
      Call SetSystemCursor(lecurseur, OCR_NORMAL)
    End Sub
     
    Private Sub Form_Unload(Cancel As Integer)
      '========= je restitue le curseur tel qu'il était
      Call SetSystemCursor(iconcurseurpresent, OCR_NORMAL)
    End Sub
    en signalant que le curseur que veut notre ami a pour nom : harrow.cur

    Il peut donc, bien évidemment éviter le commondialog et faire directement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Command1_Click()
      '===================je récupère d'abord (pour pouvoir au besoin le restitier) le curseur en cours
      curseurpresent = GetCursor()
      iconcurseurpresent = CopyIcon(curseurpresent)
      '=================================================================
      Dim myDir As String
      Dim lDir As Long
      myDir = Space(255)
      lDir = GetWindowsDirectory(myDir, 255)
      myDir = Left$(myDir, lDir) & "\cursors\"
      definitcurseur myDir & "harrow.cur"
    End Sub
    S'veut de surcroit des petites chatouille (main qui bouge), il remplace, à sa guise, harrow.cur par handapst.ani ou par handno.ani
    Qu'il essaye ...

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Bonsoir jmf..
    Citation Envoyé par jmfmarques
    A adapter pour VBA... :

    ..
    eu l'adaptation pour VBA elle est la, nul besoin d'API.

  9. #9
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Hmmm!

    Hé bé! API beurre dé tout y ou, jmf!

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par zazaraignée
    Hmmm!

    Hé bé! API beurre dé tout y ou, jmf!
    c'est pas du language SMS ça ..?

    (la je suis sur que c'est pas de l'espagnol..)

  11. #11
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Citation Envoyé par zazaraignée
    Hmmm!

    Hé bé! API beurre dé tout y ou, jmf!

    Bonjour zaza,

    Relis, su tu parviens à les retrouver, les 2 ou 3 messages où j'ai eu l'occasion d'exposer comment je distribuais certains exe, une fois l'application arrêtée définitivement en VB.... et tu comprendras tout..

    En résumé :
    1) appli en VB pour ne pas "jouer à la bataille navale"
    2) arrêt définitif de l'appli
    3) transposition en QBasic ou en RapidQ, selon le cas pour gagner en rapidité d'exécution et en indépendance totale
    4) distribution d'un exe qui n'a nul besoin d'un empaquettage.

    Il est clair qu'à ce jeu-là, les facilités offertes par VB passent aux oubliettes pour céder la place aux APIs de Windows.

    J'ai commencé avant-hier un outil pour APIs et j'avance lentement mais surement.
    Description de la fonction - syntaxe de la déclaration - exemple simple d'utilisation.
    Le tout en fichier hlp.
    Ce sera mon cadeau de départ

  12. #12
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par jmfmarques
    ...
    S'veut de surcroit des petites chatouille (main qui bouge), il remplace, à sa guise, harrow.cur par handapst.ani ou par handno.ani
    Qu'il essaye ...
    finalement pour des curseurs animé.. ( ce n'est pas le cas dans cette discussion) l'utilisation d'API semble s'imposer LoadPicture ne voulant pas entendre parler de .ani..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/02/2013, 16h01
  2. Réponses: 6
    Dernier message: 21/06/2007, 16h26
  3. [vba][excel]Erreur '1004' lors d'un changement d'opérateur de comparaison.
    Par nicko5959 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/02/2007, 16h47
  4. [VBA Excel] Evénement molette de la souris
    Par cedric59dk dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/02/2007, 13h21
  5. Réponses: 8
    Dernier message: 16/10/2006, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo