Comment afficher une image au survol d'une cellule
Résolu/Fermé
Aschille
Messages postés
31
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
11 mai 2013
-
11 mai 2013 à 20:05
Aschille Messages postés 31 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 11 mai 2013 - 11 mai 2013 à 23:27
Aschille Messages postés 31 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 11 mai 2013 - 11 mai 2013 à 23:27
A voir également:
- Excel afficher une image au survol d'une cellule
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Déplacer une colonne excel - Guide
- Liste déroulante excel - Guide
- Verrouiller une cellule excel - Guide
6 réponses
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
Modifié par michel_m le 11/05/2013 à 20:16
Modifié par michel_m le 11/05/2013 à 20:16
Bonsoir
un exemple
https://www.cjoint.com/?3EluoZfVmWZ
nota: il faut "dézipper" la pièce jointe et non "ouvrir" le zip
Michel
un exemple
https://www.cjoint.com/?3EluoZfVmWZ
nota: il faut "dézipper" la pièce jointe et non "ouvrir" le zip
Michel
Patrice33740
Messages postés
8561
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
15 mars 2025
1 779
11 mai 2013 à 23:19
11 mai 2013 à 23:19
Re,
Si tes images sont carrées, tu simplifier le code de Michel comme suit :
La dimension des images est déterminée par :
Cordialement
Patrice
Si tes images sont carrées, tu simplifier le code de Michel comme suit :
Sub creer_image_survol() Dim chemin As String, Col As Byte, Lig As Byte, Fin As Integer, Cptr As Integer Dim design As String, image As String Dim pict As IPictureDisp chemin = ThisWorkbook.Path & "\" Col = Range("start").Column Lig = Range("start").Row Fin = Range("start").End(xlDown).Row For Cptr = Lig To Fin image = Cells(Cptr, Col) design = chemin & image 'prend en compte le format de la photo If Dir(design & ".png") <> "" Then image = image & ".png" If Dir(design & ".jpg") <> "" Then image = image & ".jpg" If Dir(design & ".jpeg") <> "" Then image = image & ".jpeg" If Dir(design & ".gif") <> "" Then image = c & ".gif" Set pict = LoadPicture(chemin & image) 'construit et remplit le commentaire With Cells(Cptr, Col) .ClearComments .AddComment With .Comment.Shape .Fill.UserPicture chemin & image .LockAspectRatio = msoFalse .Height = 300 .Width = 300 End With .Comment.Visible = False End With Next End Sub
La dimension des images est déterminée par :
.Height = 300 .Width = 300--
Cordialement
Patrice
Aschille
Messages postés
31
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
11 mai 2013
11 mai 2013 à 20:48
11 mai 2013 à 20:48
Merci pour la rapidité de ta réponse Michel. En voyant le résultat dans ton exemple je ne peux qu'être optimiste pour la résolution de mon problème.
J'ai copié tes lignes de codes dans mon classeur, attribué un bouton à l'exécution de celles ci, et mis une image avec le même nom que le contenu en texte d'une des cellules. Néanmoins, le problème persiste.
Le débogage me renvoie à cette ligne de code :
Col = Range("start").Column
Les images dans mon cas par contre correspondent à la colonne A.
Une idée ?
J'ai copié tes lignes de codes dans mon classeur, attribué un bouton à l'exécution de celles ci, et mis une image avec le même nom que le contenu en texte d'une des cellules. Néanmoins, le problème persiste.
Le débogage me renvoie à cette ligne de code :
Col = Range("start").Column
Les images dans mon cas par contre correspondent à la colonne A.
Une idée ?
Patrice33740
Messages postés
8561
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
15 mars 2025
1 779
11 mai 2013 à 22:36
11 mai 2013 à 22:36
Comme c'est indiqué sur la Feuille 1 du fichier de Michel, la première cellule qui doit recevoir la première image doit être nommée "start"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Aschille
Messages postés
31
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
11 mai 2013
11 mai 2013 à 23:01
11 mai 2013 à 23:01
En effet, j'avais omis ce détail. Voilà que ça marche.
Un dernier détail si je puis me permettre. Les images que je veux mettre sont d'une taille de 64x64 pixels. Y'a t'il une façon pour les afficher dans cette taille car là ils ont tous tendance à s'agrandir et à s'étirer à l'horizontal ?
Un dernier détail si je puis me permettre. Les images que je veux mettre sont d'une taille de 64x64 pixels. Y'a t'il une façon pour les afficher dans cette taille car là ils ont tous tendance à s'agrandir et à s'étirer à l'horizontal ?
Aschille
Messages postés
31
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
11 mai 2013
11 mai 2013 à 23:27
11 mai 2013 à 23:27
Impeccable ! Rien à rajouter. Merci énormément à vous deux ^^