Coordonnée du pointeur de la souris sur une image d'un userform(xls)

Coordonnée du pointeur de la souris sur une image d'un userform(xls) - VB/VBA/VBS - Programmation

Marsh Posté le 27-02-2005 à 16:01:31    

hi all,  
 
 
Est-ce possible d'afficher dans une zone texte, par exemple, les coordonnées (n'importe quelle unité) du pointeur de la souris parcourant l'image.
 
Merci beaucoup ...


Message édité par tibot le 27-02-2005 à 16:05:22
Reply

Marsh Posté le 27-02-2005 à 16:01:31   

Reply

Marsh Posté le 27-02-2005 à 16:46:54    

Application.Cursor = xlNorthwestArrow  iu u truc du genre non ?

Reply

Marsh Posté le 27-02-2005 à 16:49:40    

Dans le contrôle de l'image, tu a la fonction
' Private Sub ctrl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) '.
Insère cela  
' Me.Timg = "x : " & X & " y : " & Y '
et le Textbox ayant comme nom " Timg " affichera les coordonnées du curseur de la souris lorqu'elle survolera l'image.

Reply

Marsh Posté le 27-02-2005 à 17:09:49    

Nickel !! Ca fonctionne ! Je ne connaissais pas cette fonction Me.

Reply

Marsh Posté le 27-02-2005 à 19:08:56    

comment faire pour dire qu'un click sur l'image enregistre les valeur x et y dans des cellules ?
 
edit :  
 
j'ai trouvé :  
 
Private Sub carte_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Application.Cursor = xlNorthwestArrow
Me.Timg = X
Me.timg2 = Y
 
 
End Sub
 
 
 
Private Sub carte_click()
Range("A5" ) = Timg
Range("B5" ) = timg2
End Sub
 
 
Faut now trouvé comment faire pour qu'au prochain clic il enregistre sur la ligne d'en dessous ..
 
offset un truc comme ça ? avec des if / else, non ?


Message édité par tibot le 27-02-2005 à 19:29:25
Reply

Marsh Posté le 27-02-2005 à 23:00:32    

comme ça :  
 
Private Sub carte_click()
Static Ligne
Range("start" ).Offset(Ligne, 0) = Ligne + 1
Range("start" ).Offset(Ligne, 1) = Timg
Range("start" ).Offset(Ligne, 2) = timg2
controle = MsgBox("Etes-vous sur du lieu ? ", vbYesNo, "Contrôle" )
If controle = vbNo Then
    Range("start" ).Offset(Ligne, 1) = Timg
    Range("start" ).Offset(Ligne, 2) = timg2
Else
    Ligne = Ligne + 1
End If
 
End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed