TeRRanCeLvBa
Messages postés4Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention 2 juin 2006
-
29 mai 2006 à 19:15
TeRRanCeLvBa
Messages postés4Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention 2 juin 2006
-
2 juin 2006 à 18:26
Bonjour !
Je travail sur un fichier excel qui rassemble diverse informations et entre autre des photos.
Celles-ci étant très grandes, je cherche à les insérer manuellement, et les réduire sur ma feuille de façon à ce qu'elles ne prennent pas de place.
Cependant j'ai besoin de pouvoir les agrandir momentanément grâce à une opération simple.
J'ai d'abord pensé à un bouton "Agrandir/Diminuer" mais j'ai énormément de photos à gérer alors s'il faut un bouton pour chacunes d'entre elles.... bof bof
Est-ce que quelqu'un aurait une solution à mon problème?
La solution parfaite permettrai d'agrandir la photo lorsque le pointeur de la souris est dessus.
Cela dit, je suis ouvert à d'autre propostition, comme un click/double click sur la photo etc...
Merci d'avance
ps: J'ai des bases en VBA mais je ne maîtrise pas bien les évenements...
cs_bipou
Messages postés61Date d'inscriptionmercredi 14 janvier 2004StatutMembreDernière intervention14 septembre 2006 2 juin 2006 à 16:13
affecter toutes tes images à la macro suivantes:
Sub Macro1()
'
' Macro1 Macro
'
Const hauteur_maxi = 600 'hauteur de l'image agrandie
Const hauteur_mini = 60 'hauteur de l'image réduite
Dim image_appelante As String
image_appelante = Application.Caller
With ActiveSheet.Shapes(image_appelante)
If .Height >= hauteur_maxi Then 'aspect 100%
.LockAspectRatio = msoTrue
.Height = hauteur_mini
Else
.LockAspectRatio = msoTrue
.Height = hauteur_maxi
End If
.ZOrder msoBringToFront
End With
End Sub
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 30 mai 2006 à 08:04
Bonjour
Avec l'évenement MouseMove, tu peux savoir si la sourie est sur ta picture box.
Unf fois cet evenement détecté, tu réduit toutes les autres et aggrandis celle sous le curseur.
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
TeRRanCeLvBa
Messages postés4Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention 2 juin 2006 30 mai 2006 à 17:25
Bonjour à toi NHenry.
Avant tout merci pour ta réponse.
Malgré tout je n'arrive pas à m'en sortir. Comment puis-je détecter l'image sous mon curseur? Je veux dire :
Par exemple j'ai trois images A, B et C. Comment déterminer sur laquelle est mon curseur ? (Pour une cellule on utilise Activcell. pour une image ...... ?)
Aurais-tu un bout de code à me proposer ? Disons avec une image nommé "Image1". Comment j'écris tout ça dans mon évenement ?
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 31 mai 2006 à 08:31
Bonjour
Une piste (sans rien pour tester) :
dans ta userform :
private mActivPicture as long
private Sub Form_Load()
mActivePicture=0
End Sub
Private Sub Picture1_MouseMove(...)
mActivePicture=1
end sub
Private Sub Picture2_MouseMove(...)
mActivePicture=2
end sub
...
Et dans mActivePicture tu as la dernière pucturebox sur laquel est passée la sourie.
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
Vous n’avez pas trouvé la réponse que vous recherchez ?
TeRRanCeLvBa
Messages postés4Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention 2 juin 2006 2 juin 2006 à 12:57
Je n'arrive pas en effet à faire fonctionner ce code.
Il faut que mes image soit dans des picturebox ? Moi je voudrais qu'elle soit apparente sur ma feuille tout le temps, en miniature et seulement lorsque le curseur est sur l'une d'entre elle alors cette dernière s'agrandi.
"dans ta userform :
private mActivPicture as long"
Quelle userform ?
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 2 juin 2006 à 13:15
Bonjour
En effet, j'ai pensé que c'était posé sur un UserForm.
Il faudrait utiliser OLE, et là je n'ai rien pour tester.
Sinon, la solution par un clic est sans doute plus simple.
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)