Bonjour,
Je fais appel à vous pour une aide sur un fichier Excel. Je voudrais lier une photo à une cellule. Un passage de la souris sur le nom ouvre une photo.
J'ai ça dans un fichier adhérents d'une association dont je suis membre. Mais je n'ai rien trouvé ni dans les macros ni dans le MFC.
Merci d'avance.
Bien cordialement,
B. Pautal
Re..
C'est une particularité à ta version xl ????
Chez moi xl 2007 pas de problème
Le classeur joint fonctionne ????
-Insérer un commentaire dans la cellule concernée
-Supprimer le texte éventuellement présent
-Clic droit sur la bordure du commentaire==>format de commentaire
-Dans la section==>Remplissage==>couleur==>choisir>motif et texture
-Dans l'onglet "image"==>sélectionner une image
-Ok
-
J'ai oublié une étape...
-Insérer un commentaire dans la cellule concernée
-Supprimer le texte éventuellement présent
-Clic droit sur la bordure du commentaire==>format de commentaire -Onglet==>Couleurs et traits
-Dans la section==>Remplissage==>couleur==>choisir>motif et texture
-Dans l'onglet "image"==>sélectionner une image
-Ok
Tu ne dis pas si dans mon classeur cela fonctionne
OK ! C'est bon et ton fichier fonctionne. Mais j'ai 65 photos à insérer alors c'est un peu long mais bon...
En tous cas merci beaucoup pour l'explication.
Cordialement,
B. Pautal
OK ! C'est bon et ton fichier fonctionne. Mais j'ai 65 photos à insérer alors c'est un peu long mais bon...
En tous cas merci beaucoup pour l'explication.
Cordialement,
B. Pautal
Re..
Une proposition par vba en PJ, sans mettre les photos dans le classeur
-Créer un répertoire nommé "Les photos" avec toutes les photos avec l'extension ".jpg"
-Inscrire les noms dans la colonne A sans l'extension.
-Le répertoire "Les photos" doit être placé dans le même répertoire que ce classeur
-Il est évident que Les noms inscrits en colonne A doivent être identiques aux noms des photos
Alors ça te fait 2 problèmes:
- Le 1er est de lier le nom et la photo: un simple hyperlien à cliquer ne ferait-il pas l'affaire ? C'est simple, efficace et ça ne demande pas de programmation.
- Le 2ème est que pour avoir un évènement de type MouseMove (Mouse Over, la souris passe dessus) , il faut un objet que le gère. Par exemple une TextBox Active X avec le nom dedans et du code VBA pour gérer l'affichage de l'image correspondante (lien toujours à faire) sur un MouseMove.
Bonjour à Tous,
Je n'ai pas répondu tout de suite pour cause de chimio mais je m'y remet aujourd'hui.
J'ai deux soucis :
1 - Avec le système du commentaire dans la cellule les images sont "pivotées" et j'ai beau les retourner rien n'y fait.
2 - Comment fait-on pour copier le code que m'a donné Jacky67 dans ma propre feuille qui, elle, a déjà les noms ?
Aùicalement,
BP
RE..
-Clic droit sur l'onglet de la feuille contenant les noms en colonne A
-Visualiser le code
-Dans la fenêtre blanche, coller le code
-Revalider les noms sur la feuille
Pour la 1-
Merci de ta réponse Jacky mais ça ne fonctionne pas. Pas de souci c'est forcément moi qui n'y arrive pas. Il est vrai qu'à 76 ans on panique un peu.
J'aurais bien voulu t'envoyer mon fichier et le fichier image mais ça ne passe pas au niveau taille.
Peut^-être une solution ?
A plus,
BP
Bonjour à toutes et tous,
Merci Jacky pour ce code qui m’intéresse.
Peut-on ajouter d'autres formats d'image (.png; .gif; .bmp) et agrandir la fenêtre commentaire.
j'ai essayé comme ça mais au bout de 3 ligne plus rien ne marche.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Or Target.Row = 1 Or Target.Count > 1 Then Exit Sub
If Target = "" Then Target.ClearComments: Exit Sub:
Application.ScreenUpdating = False
With Target
.ClearComments
.AddComment
On Error Resume Next
.Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\Les photos\" & Target & ".jpg"
On Error Resume Next
.Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\Les photos\" & Target & ".png"
On Error Resume Next
.Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\Les photos\" & Target & ".gif"
On Error Resume Next
.Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\Les photos\" & Target & ".bmp"
If Err <> 0 Then MsgBox .Value & vbLf & "Photo introuvable": .ClearComments
End With
End Sub
Bonjour à toutes et tous,
Merci Jacky pour ce code qui m’intéresse.
Peut-on ajouter d'autres formats d'image (.png; .gif; .bmp) et agrandir la fenêtre commentaire.
j'ai essayé comme ça mais au bout de 3 ligne plus rien ne marche.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Or Target.Row = 1 Or Target.Count > 1 Then Exit Sub
If Target = "" Then Target.ClearComments: Exit Sub:
Application.ScreenUpdating = False
With Target
.ClearComments
.AddComment
On Error Resume Next
.Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\Les photos\" & Target & ".jpg"
On Error Resume Next
.Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\Les photos\" & Target & ".png"
On Error Resume Next
.Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\Les photos\" & Target & ".gif"
On Error Resume Next
.Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\Les photos\" & Target & ".bmp"
If Err <> 0 Then MsgBox .Value & vbLf & "Photo introuvable": .ClearComments
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c
If Target.Column <> 1 Or Target.Row = 1 Or Target.Count > 1 Then Exit Sub
If Target = "" Then Target.ClearComments: Exit Sub:
With Target
.ClearComments
.AddComment
For Each c In Array(".jpg", ".png", ".gif", ".bmp")
On Error Resume Next
.Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\Les photos\" & Target & c
.Comment.Shape.Width = 100 'larguer
.Comment.Shape.Height = 100 ' hauteur
Application.CutCopyMode = False
If Err = 0 Then Exit Sub
Next
MsgBox .Value & vbLf & "Photo introuvable": .ClearComments
End With
End Sub