Inscription dans cellule X et Y souris sur image

simple

XLDnaute Nouveau
Bonjour à tous,
un peu rouiller en vba je souhaiterais réaliser une macro me permettant de:
- Récupérer les coordonnées X,Y de la souri lors d'un clic sur une grande image situé sur un userform
- Traiter ce X,Y pour en fonction inscrire dans une sheet ligne apres ligne les coordonnées traité
- Pouvoir laisser une trace graphique (carre, rond, croix, lettre?..) sur l'image ou la personne a cliqué.

--- Je sais :
Creer un userform et y mettre l'image.
récupérer la dernière ligne active de la sheet database.

J'ai trouvé sur internet ce bout de code mais je n'arrive pas à le transformer juste afficher /traiter juste au moment d'un clic souris.

------------------- Bout de code ---------------------
Private Sub Image_map_MouseMove(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Select Case Y 'Vertical coordinate
Case Is < 2 'Off the map
t_stringer.Value = "off"
Case Is < 47
t_stringer.Value = "32"
Select Case X 'Horizontal coordinate
Case Is < 2: t_cadre.Value = "46"
Case Is < 78: t_cadre.Value = "54"
Case Is < 152: t_cadre.Value = "62"
Case Else: t_cadre.Value = "off"
End Select
Case Is < 87
t_stringer.Value = "45"
Select Case X 'Horizontal coordinate
Case Is < 2: t_cadre.Value = ""
Case Is < 40: t_cadre.Value = ""
Case Is < 112: t_cadre.Value = "Cuba"
Case Else: t_cadre.Value = "" 'Off the map
End Select
Case Is < 133
t_stringer.Value = "56"
Select Case X 'Horizontal coordinate
Case Is < 2: t_cadre.Value = ""
Case Is < 78: t_cadre.Value = "Mexico"
Case Is < 152: t_cadre.Value = "Puerto Rico"
Case Else: t_cadre.Value = "" 'Off the map
End Select
Case Else 'Off the map
Country = ""
End Select
' The statement below was used while figuring out the coordinates
' Application.StatusBar = Country & " " & X & " " & Y
Application.StatusBar = 34
End Sub

--------------------- Bout de code [end] --------------------------

D'avance merci à tous.
 

simple

XLDnaute Nouveau
Re : Inscription dans cellule X et Y souris sur image

Et petite question supplémentaire toujours en rapport. Une foi que mon dessin a reçu tous ces points rouge: comment faire pour le coller sur une nouvelle feuille en gardant la position reltive de chaque point (une sorte de copie d'ecran).

J'ai essayé les formules avec copie d'ecran mais c'est pas beau - j'ai une copie de tout mon ecran de collé sur une feuille, ca ne fait pas propre.

D'avance merci.
 

jecirbe

XLDnaute Junior
Re : Inscription dans cellule X et Y souris sur image

bonjour tototiti2008 et le forum,
très intéressant ce fil.
Est -il possible d'avoir plus que des points sur l'image. En fait ma question serait -il possible de pouvoir avoir le choix de dessiner un point ou un trait ?
Merci d'avance pour la réponse
Cordialement
jecirbe
 

patoq

XLDnaute Occasionnel
Re : Inscription dans cellule X et Y souris sur image

Bonjour à tous ,

En fait jecirbe tu peut jouer sur la hauteur (height) et la largeur (width) dans le code VBA .
Essaie avec 1 en hauteur et 25 en largeur et hop ça dessine un trait.

A plus.
 

jecirbe

XLDnaute Junior
Re : Inscription dans cellule X et Y souris sur image

bonjour,
merci patoq pour ta réactivité mais en fait je cherche à pouvoir faire sur le même dessin un point comme dans le classeur exemple de ce fil et un ou plusieurs traits (même à main levée)
Merci
A plus
 

patoq

XLDnaute Occasionnel
Re : Inscription dans cellule X et Y souris sur image

Re ,
Par sélection, comme ceci :


A plus
 

Pièces jointes

  • Classeur2.xls
    40.5 KB · Affichages: 88
  • Classeur2.xls
    40.5 KB · Affichages: 93
  • Classeur2.xls
    40.5 KB · Affichages: 105

jecirbe

XLDnaute Junior
Re : Inscription dans cellule X et Y souris sur image

encore merci patoq,

en cherchant sur le forum j'ai trouvé ça: main levée
j'arrive à le faire fonctionner sur une feuille mais pas sur un userform.
peut on "mélangé" ta version avec cette méthode?
d'avance merci
A plus
 

tototiti2008

XLDnaute Barbatruc
Re : Inscription dans cellule X et Y souris sur image

Bonjour jecirbe, Bonjour patoq,

Malheureusement les élément graphiques des Userform sont très limités, il n'y a donc pas possibilité de tracer des traits à main levée dans un Userform avec les outils graphiques disponibles (sauf peut-être en principe tricher en dessinant en parallèle sur la feuille, copier l'image résultante dans l'userform mais c'est assez tordu)
Après il y a des possibilités si tu utilise des dll spécifiques (GDI+ par exemple :
EXEMPLE D'UTILISATION DE GDI+ DANS VB6 gdiplus, gdi, png, exemple, transparence, Source N°39804 Visual Basic, VB6, VB.NET, VB 2005, VB
ou
Développez un jeu de Pacman complet en VBA avec Gdi+ [Article] - Forum des professionnels en informatique)
mais je n'ai jamais vraiment fouillé
 

Discussions similaires

Statistiques des forums

Discussions
312 371
Messages
2 087 710
Membres
103 648
dernier inscrit
mehdi kaddaf