agrandit une image au passage de la souris

Grégf

XLDnaute Junior
Bonjour,
je souhaite qu'une image s'agrandisse quand je passe la souris dessus.
Je joints un fichier pour que ce soit plus parlant.
Merci, cordialement.
 

Pièces jointes

  • JFK.xlsx
    55.5 KB · Affichages: 92

job75

XLDnaute Barbatruc
Bonjour riton00,

Pour que survol de la souris ait un effet il faut que l'image soit un contrôle Image ActiveX.

Dans lequel on charge par exemple un fichier JPEG.

Il est facile (et je l'ai fait) de créer des fichiers JPEG à partir des "Pictures" que vous avez fournies mais ce que l'on obtient n'est pas de bonne qualité.

Il faudrait que vous alliez sur les sites web où vous avez pris vos images et téléchargiez les fichiers correspondants.

Mettez-les dans un dossier zip et déposez celui-ci sur ce fil.

A+
 

Grégf

XLDnaute Junior
Bonsoir,

Une proposition avec un clic sur image pour zoomer + reclic pour diminuer

Slts
Bonsoir,

Une proposition avec un clic sur image pour zoomer + reclic pour diminuer

Slts
Merci Riton, ça fonctionne super bien mais quand l'image s’agrandit on perd énormément en qualité.
J'ai essayé avec des photos de qualité ça fonctionne mais après enregistrement la qualité baisse de nouveau.
Il y a une raison ? En tout cas merci.
 

Grégf

XLDnaute Junior
Bonjour riton00,

Pour que survol de la souris ait un effet il faut que l'image soit un contrôle Image ActiveX.

Dans lequel on charge par exemple un fichier JPEG.

Il est facile (et je l'ai fait) de créer des fichiers JPEG à partir des "Pictures" que vous avez fournies mais ce que l'on obtient n'est pas de bonne qualité.

Il faudrait que vous alliez sur les sites web où vous avez pris vos images et téléchargiez les fichiers correspondants.

Mettez-les dans un dossier zip et déposez celui-ci sur ce fil.

A+
Bonsoir Job75, ci-joints les images en jpeg de meilleur qualité. Merci pour votre aide.
 

Pièces jointes

  • archive.zip
    2.1 MB · Affichages: 93

riton00

XLDnaute Impliqué
Re Grégf, Job75, BISSON Nicole

En fait j'ai constaté qu'en enregistrant le fichier en .xls la qualité est bien meilleurs mais le hic c'est que le poids du fichier gonfle aussi, voir p.j. :eek:

Slts
 

Pièces jointes

  • zoom sur clic imageessais.xls
    2.4 MB · Affichages: 83

job75

XLDnaute Barbatruc
Bonsoir à tous,

Merci riton00 pour les fichiers JPEG.

Dans le fichier joint je les ai chargés dans les 5 contrôles images ActiveX.

Le survol de la souris déclenche l'évènement MouseMouve dans le Module de classe.

La classe est initialisée dans la Workbook_Open du ThisWorkbook.

Notez que si l'on modifie le VBA il faut fermer puis rouvrir le fichier.

Bonne nuit.
 

job75

XLDnaute Barbatruc
Bonjour Grégf, le forum,

Veuillez m'excuser, je vous avais confondu avec riton00.

D'abord j'ai supposé que toutes les images doivent avoir les mêmes dimensions, si ce n'est pas le cas dites-le, je modifierai le code du module de classe.

Il est souhaitable que tous vos fichiers JPEG ne soient pas trop gros (quelques dizaines de ko suffisent), votre fichier 3 pèse 1,9 Mo ce qui explique le délai d'exécution de la macro.

Pour ajouter de nouvelles images dans la feuille :

- donner à toutes les lignes la hauteur 45

- copier la dernière image et la coller sur la cellule du dessous

- dans VBA passer en mode Création (menu Exécution)

- clic droit sur la nouvelle image => Propriétés => Picture et chargez le fichier JPEG adéquat

- dans VBA quitter le mode Création

- fermer et rouvrir le fichier.

Bonne journée.
 

Grégf

XLDnaute Junior
Bonjour Grégf, le forum,

Veuillez m'excuser, je vous avais confondu avec riton00.

D'abord j'ai supposé que toutes les images doivent avoir les mêmes dimensions, si ce n'est pas le cas dites-le, je modifierai le code du module de classe.

Il est souhaitable que tous vos fichiers JPEG ne soient pas trop gros (quelques dizaines de ko suffisent), votre fichier 3 pèse 1,9 Mo ce qui explique le délai d'exécution de la macro.

Pour ajouter de nouvelles images dans la feuille :

- donner à toutes les lignes la hauteur 45

- copier la dernière image et la coller sur la cellule du dessous

- dans VBA passer en mode Création (menu Exécution)

- clic droit sur la nouvelle image => Propriétés => Picture et chargez le fichier JPEG adéquat

- dans VBA quitter le mode Création

- fermer et rouvrir le fichier.

Bonne journée.
Super, merci beaucoup !!!
J'ai un peu ramé car il faut passer en mode création avant de pouvoir copier l'image ... mais ça fonctionne nickel !!! Encore mille fois merci à tous et bonnes fêtes à vous !
 

job75

XLDnaute Barbatruc
Re,

Pour l'agrandissement par le clic le fichier (2) est trop compliqué et bien trop lourd.

Il suffit d'utiliser des Shapes.

J'ai d'abord compressé vos fichiers JPEG 2 3 5 qui étaient trop lourds.

Si vous n'avez pas de compresseur vous pouvez en télécharger un sur ce site :

http://www.commentcamarche.net/download/telecharger-34079919-pixillion

Ensuite par copier/coller j'ai créé les Shapes de ce fichier (3) et leur ai affecté cette macro :
Code:
Const coef! = 3 'coefficient d'agrandissement, modifiable

Sub Agrandir()
If IsError(Application.Caller) Then Exit Sub 'sécurité
With ActiveSheet.Shapes(Application.Caller)
  .LockAspectRatio = True 'conserve le rapport hauteur/largeur
  .TopLeftCell = IIf(.TopLeftCell = "", "a", "")
  .Height = 44 * IIf(.TopLeftCell = "", 1, coef)
  .Left = .TopLeftCell.Left + 0.5
  .Top = .TopLeftCell.Top + 0.5
  .ZOrder 0 'place l'image au 1er plan
End With
End Sub
A+
 

Pièces jointes

  • JFK(3).xlsm
    2.4 MB · Affichages: 113
  • archive(1).zip
    152.8 KB · Affichages: 68

Discussions similaires

Réponses
14
Affichages
320

Membres actuellement en ligne

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 107
dernier inscrit
cdel