[VBA]Marquage du clic sur une image de userform

  • Initiateur de la discussion titibobo
  • Date de début
T

titibobo

Guest


bary7xr.th.jpg


Lors du clic cela enregiste les coodonnées du pointeur par

Code:
Private Sub carte_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.cics = X
Me.cigrec = Y
End Sub

CE que je veux c'est lorsqu'on clic sur l'image du userform un point ou petit cercle s'affiche et reste.

Vous pensez que c'est réalisable ?

Code:
Private Sub carte_click()
Range('start').Offset(Ligne, 0) = Ligne + 1
Range('start').Offset(Ligne, 1) = cics
Range('start').Offset(Ligne, 2) = cigrec
controle = MsgBox('Etes-vous sur du lieu ? ', vbYesNo, 'Contrôle')
Image2.Visible = True
If controle = vbNo Then
    Range('start').Offset(Ligne, 1) = cics
    Range('start').Offset(Ligne, 2) = cigrec
Else
dataclient.Show
Ligne = Ligne + 1

End If
End Sub

le mieux c'est de créer une imae, de l'importe et de la rendre visible au clic, maisje n'arrive pas à la placer sur le lieu du clic :huh:
 
T

titibobo

Guest
Image2.Visible = True
Image2.Top = cics
Image2.Left = cigrec


Par contre au 2eme clic l'image sera déplacée et non copiée ..
et il y a un décalage aléatoire de la position du cercle
:pinch:
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Titi, le Forum

Je ne saisis pas trop ton histoire, dans le titre tu parles de : 'Marquage du clic sur une image de userform'... Pour ça ok

Dans ton message ton code parle de 'Range' (Range('start').Offset(Ligne, 0) = Ligne + 1) Pour ça, je n'ai pas compris !!!

Quoiqu'il en soit si ça peut te faire avancer, prends un classeur vierge et introduis :

[li]1 UserForm[/li]
[li]2 Labels[/li]

Dans le Private Module du UserForm copie ce Code :

Option Explicit

Private Sub UserForm_Initialize()
   
With Me.Label1
        .Width = Me.Width
        .Height = Me.Height
   
End With

   
With Me.Label2
        .BackStyle = fmBackStyleTransparent
        .BorderStyle = fmBorderStyleSingle
        .BorderColor = 255
        .Width = 8
        .Height = 8
        .Visible =
False
   
End With
End Sub

Private Sub Label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
ThePointeur X, Y
End Sub


Private Sub ThePointeur(X As Single, Y As Single)
   
With Label2
        .Visible =
True
        .Top = Int(Y) - .Height / 2
        .Left = Int(X) - .Width / 2
   
End With
End Sub


Ce devrait te faire avancer...
Bon Aprèm
@+Thierry

EDITION !!!

Nb dans l'initialize '.BorderColor' à la place de 'BackColor' du Label2... Oups !!!

Message édité par: _Thierry, à: 28/03/2005 13:46

Message édité par: _Thierry, à: 28/03/2005 13:47
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 913
Membres
101 837
dernier inscrit
Ugo