Rollover, survol image zoom Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
t
theguilt
Membre fidèle
Membre fidèle
Messages : 282
Inscrit le : 17 septembre 2015
Version d'Excel : 2010

Message par theguilt » 28 septembre 2015, 16:45

Bonjour, quelqu'un a déjà réussi a faire un zoom sur une image juste en la survolant mais sans utiliser "insertion commentaire"?

Merci
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 5'929
Appréciations reçues : 250
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 29 septembre 2015, 22:38

Bonsoir,

fichier joint à voir... Attention c'est trouvé sur le net !!! :mrgreen:

Sur chaque image de la feuille, faire un clic droit et attribuer la macro : ZoomUnZoomImage

@ bientôt

LouReeD
Zoom.xlsm
(60.96 Kio) Téléchargé 222 fois
Contributeur depuis peu ! 8-)
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
t
theguilt
Membre fidèle
Membre fidèle
Messages : 282
Inscrit le : 17 septembre 2015
Version d'Excel : 2010

Message par theguilt » 30 septembre 2015, 00:31

Ah merci, après ca serait plus pour une Image (control active x)
avec juste le survol de celle_ ci qui grossi et réduit de façon fluide
Je sais pas si je suis clair dans mes explications


Merci
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 5'929
Appréciations reçues : 250
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 30 septembre 2015, 23:39

Alors là il faudrait en parler aux pro du forum !!! :D

Bon courage

@ bientôt

LouReeD
Contributeur depuis peu ! 8-)
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
t
theguilt
Membre fidèle
Membre fidèle
Messages : 282
Inscrit le : 17 septembre 2015
Version d'Excel : 2010

Message par theguilt » 30 septembre 2015, 23:42

ca donnerai un super rendu non?
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 5'929
Appréciations reçues : 250
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 30 septembre 2015, 23:53

et si des pros vous répondent, il pourrait y avoir un système de zoom type loupe Windows...
Oui en effet cela ferait un jolie effet.

Mais pourquoi faire ? :-)

@ bientôt

LouReeD
Contributeur depuis peu ! 8-)
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
waard
Contributeur
Contributeur
Messages : 436
Appréciations reçues : 16
Inscrit le : 9 février 2015
Version d'Excel : 2013, 2016, FR
Téléchargements : Mes applications

Message par waard » 1 octobre 2015, 13:47

Hello,

Oui pour quoi faire ? Car en fonction de l'utilité, mieux vaudrait passer par un autre logiciel et un autre langage.
Sinon pour faire suite au topic : Teste au survol d'une icones.

En dehors de mon problème sur l'utilisation de X,Y, j'ai réussis à faire plus fluide, par contre quand le zoom est rapide, il est difficile d'ouvrir le lien hypertexte...
Du coup, essaye de jouer sur les placements de ces 3 lignes, si tu trouve l'idéale :
Application.EnableEvents = False 'Pour désactiver les événements feuille
ThisWorkbook.Worksheets(1).logo.Visible = False 'Pour désafficher le logo, pour un micro survol, déclenchant le zoom
Application.ScreenUpdating = False 'Pour désafficher le raffraichissement écran, pour accélérer le traitement et ...

La meilleure solution intermédiaire que j'ai trouvé, c'est ça, par contre il faut un triple clic pour ouvrir le lien, ou faire un clic en mouvement pendant que le sablier micro-tourne :
Private Sub logo_Click()
Dim MemoireTailleIconeWidth As Integer
Dim MemoireTailleIconeHeight As Integer
Dim MemoireEmplacementIconeTop As Integer
Dim MemoireEmplacementIconeLeft As Integer
MemoireTailleIconeWidth = 80 'taille en point
MemoireTailleIconeHeight = 80
MemoireEmplacementIconeTop = ThisWorkbook.Worksheets(1).Shapes("logo").Top
MemoireEmplacementIconeLeft = ThisWorkbook.Worksheets(1).Shapes("logo").Left

  Application.EnableEvents = False 'Pour permettre d'éviter événement mousemove annulant l'ouverture du fichier quand l'icone va reprendre sa taille initiale
  Application.ScreenUpdating = False 'Déraffraichissement pour essayer de rendre l'opération plus rapide et pour essayer d'éviter 36 zooms à la suite des micros mouvement souris
  'ThisWorkbook.Worksheets(1).logo.Visible = False 'Désafiche controle pour essayer d'éviter 36 zooms à la suite des micros mouvement souris

On Error Resume Next

ThisWorkbook.Worksheets(1).Shapes.Range(Array("ZoneTexte 4")).Visible = False
ThisWorkbook.Worksheets(1).Shapes("logo").Width = MemoireTailleIconeWidth
ThisWorkbook.Worksheets(1).Shapes("logo").Height = MemoireTailleIconeWidth
ThisWorkbook.Worksheets(1).Shapes("logo").Left = MemoireEmplacementIconeLeft
ThisWorkbook.Worksheets(1).Shapes("logo").Top = MemoireEmplacementIconeTop
  'ThisWorkbook.Worksheets(1).logo.Visible = True 'Désafiche controle pour essayer d'éviter 36 zooms à la suite des micros mouvement souris
Application.ScreenUpdating = True 'Déraffraichissement pour essayer de rendre l'opération plus rapide et pour essayer d'éviter 36 zooms à la suite des micros mouvement souris
Application.EnableEvents = True 'Pour permettre d'éviter événement mousemove annulant l'ouverture du fichier quand l'icone va reprendre sa taille initiale
Workbooks.Open ("C:\Users\waard\Desktop\Inventaires 2015")

End Sub


Private Sub logo_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim MemoireTailleIconeWidth As Integer
Dim MemoireTailleIconeHeight As Integer
Dim MemoireEmplacementIconeTop As Integer
Dim MemoireEmplacementIconeLeft As Integer
MemoireTailleIconeWidth = 80 'taille en point
MemoireTailleIconeHeight = 80
MemoireEmplacementIconeTop = ThisWorkbook.Worksheets(1).Shapes("logo").Top
MemoireEmplacementIconeLeft = ThisWorkbook.Worksheets(1).Shapes("logo").Left
'Pour obtenir la conversion Point > cm > Point // => Multiplier par CM x coef 28.36 //// exemple 2.82cm x 28.36 = 80 //// exemple 5.29 x 28.36 = 150
  
  Application.EnableEvents = False 'Désactivation événements feuille, pour essayer d'éviter 36 zooms à la suite des micros mouvement souris
  ThisWorkbook.Worksheets(1).logo.Visible = False 'Désafiche controle pour essayer d'éviter 36 zooms à la suite des micros mouvement souris
  Application.ScreenUpdating = False 'Déraffraichissement pour essayer de rendre l'opération plus rapide et pour essayer d'éviter 36 zooms à la suite des micros mouvement souris
  
  On Error Resume Next

   If X < 20 Or X > logo.Width - 1 Or Y < 20 Or Y > logo.Height - 1 Then 'A voir comment fonctionne X, Y pour améliorer fluidité  // X, Y Position horizontale ou verticale, mesurée en points, depuis le bord gauche ou supérieure du contrôle.
       ThisWorkbook.Worksheets(1).Shapes.Range(Array("ZoneTexte 4")).Visible = False
       ThisWorkbook.Worksheets(1).Shapes("logo").Width = MemoireTailleIconeWidth
       ThisWorkbook.Worksheets(1).Shapes("logo").Height = MemoireTailleIconeWidth
       ThisWorkbook.Worksheets(1).Shapes("logo").Left = MemoireEmplacementIconeLeft
       ThisWorkbook.Worksheets(1).Shapes("logo").Top = MemoireEmplacementIconeTop
ThisWorkbook.Worksheets(1).logo.Visible = True
Application.ScreenUpdating = True
Application.EnableEvents = True
Else
    ThisWorkbook.Worksheets(1).Shapes.Range(Array("ZoneTexte 4")).Visible = True
    ThisWorkbook.Worksheets(1).Shapes("logo").Width = 150
    ThisWorkbook.Worksheets(1).Shapes("logo").Height = 150
    ThisWorkbook.Worksheets(1).Shapes("logo").Left = MemoireEmplacementIconeLeft
    ThisWorkbook.Worksheets(1).Shapes("logo").Top = MemoireEmplacementIconeTop
ThisWorkbook.Worksheets(1).logo.Visible = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End If

End Sub
Sinon sur MrExcel, quelqu'un a créer une Dll avec de nouveaux événements qui semble pas mal, pour répondre à ce problème et d'autres, mais impossible de le faire fonctionner, je ne sais pas, si quelqu'un arrive à le faire fonctionner WS Mouse Events :
http://www.mrexcel.com/forum/excel-ques ... sheet.html
Même avec le fichier Dll importé dans les références, ça ne fonctionne pas, le code plante dès le départ, pour non reconnaissance de l'événement ?! :?

:wink:
"One and yet a mass"
COHENNY Tristan - Projet MYRMIDON
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 5'929
Appréciations reçues : 250
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 1 octobre 2015, 19:05

Là je suis perdu....

Désolé... :(

LouReeD
Contributeur depuis peu ! 8-)
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'042
Appréciations reçues : 339
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 1 octobre 2015, 23:57

Bonjour,

un essai en utilisant l'événement MouseMove.
Dézoome lorsque tu sors de l'image. Ne le fait pas si tu en sors très vite. Retourner dessus et en ressortir plus tranquillement pour dézoomer.
eric
zoom rollover image.xlsm
(136.12 Kio) Téléchargé 166 fois
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Avatar du membre
waard
Contributeur
Contributeur
Messages : 436
Appréciations reçues : 16
Inscrit le : 9 février 2015
Version d'Excel : 2013, 2016, FR
Téléchargements : Mes applications

Message par waard » 2 octobre 2015, 00:54

Hello Eriiic,

Super boulot :bien: ,

J'ai édité mon dernier post sur le topic : "Teste au survol d'une icones" pour indiquer ta meilleure réponse, inutile que j'encombre les archives du forum avec ma solution.

:wink:
"One and yet a mass"
COHENNY Tristan - Projet MYRMIDON
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message