Insérer une image dans un commentaire (exel)
lebowski
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
dans exel 2007, peut ton inserer une image (provenant de mon disque dur) dans le commentaire d'une cellule (qui n'a pas de fonction) ?
merçi de votre réponse.
dans exel 2007, peut ton inserer une image (provenant de mon disque dur) dans le commentaire d'une cellule (qui n'a pas de fonction) ?
merçi de votre réponse.
A voir également:
- Insérer une image dans un commentaire (exel)
- Insérer une vidéo dans powerpoint - Guide
- Insérer une image dans word sans bouger le texte - Guide
- Insérer signature word - Guide
- Insérer un espace insécable dans word - Guide
- Insérer un commentaire dans word - Guide
15 réponses
Bonsoir lebowski et argixu,
Allez, j'ai pitié pour ta souris et je te propose une macro pour ajouter les images en commentaires.
- Saisir le répertoire de l'image 2 colonnes à gauche de la cellule destinée à avoir le commentaire,
- saisir le nom du fichier de l'image 1 colonne à gauche,
- sélectionner la plage des cellules recevant les commentaires
- lancer la macro
eric
Allez, j'ai pitié pour ta souris et je te propose une macro pour ajouter les images en commentaires.
- Saisir le répertoire de l'image 2 colonnes à gauche de la cellule destinée à avoir le commentaire,
- saisir le nom du fichier de l'image 1 colonne à gauche,
- sélectionner la plage des cellules recevant les commentaires
- lancer la macro
Sub AjoutImageCommentaire() Dim c As Range, img As String For Each c In Selection img = c.Offset(0, -2).Value & c.Offset(0, -1).Value On Error Resume Next c.AddComment c.Comment.Visible = True c.Comment.Shape.Select True Selection.ShapeRange.Fill.UserPicture img Selection.ShapeRange.LockAspectRatio = msoFalse c.Comment.Visible = False Next c End Subexemple : ImgCommentaires.xls
eric
Bonjour
Insertion / Commentaires
Sélection de la boite du commentaire
Bouton droit / Format de commentaire / Clic sur flèche en face de couleur / Motifs et textures / onglet image / Sélection image : chercher le chemin / Verrouiller les proportions / OK / OK
Insertion / Commentaires
Sélection de la boite du commentaire
Bouton droit / Format de commentaire / Clic sur flèche en face de couleur / Motifs et textures / onglet image / Sélection image : chercher le chemin / Verrouiller les proportions / OK / OK
oups... sous excel 2007 c'est :
Menu Révision / Nouveau commentaire
Sélection de la boite du commentaire
Bouton droit / Format de commentaire / -Onglet couleurs et traits- / Clic sur flèche en face de couleur / Motifs et textures / onglet image / Sélection image : chercher le chemin / Verrouiller les proportions / OK / OK
Menu Révision / Nouveau commentaire
Sélection de la boite du commentaire
Bouton droit / Format de commentaire / -Onglet couleurs et traits- / Clic sur flèche en face de couleur / Motifs et textures / onglet image / Sélection image : chercher le chemin / Verrouiller les proportions / OK / OK
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Géant Eric !! Je l’ai fait et même avec moi… la réfractaire aux macros…, ça marche nickel !!
Pauvre lebowski, il va attraper une tendinite… Pourvu qu’il revienne voir ton message !!
Un grand merci, encore une fois.
Bonne soirée.
Géant Eric !! Je l’ai fait et même avec moi… la réfractaire aux macros…, ça marche nickel !!
Pauvre lebowski, il va attraper une tendinite… Pourvu qu’il revienne voir ton message !!
Un grand merci, encore une fois.
Bonne soirée.
jalé justement posez une interrogation sur les utilisations possibles de ma toute récente découverte : les macros
c bo la technologie !
je vé imédiatemeent irigé un autel aux dieux argixu et eric !
Et faire de la pub à tou mes amis de ce site merveilleux.
c'est une bible pour tout les déspéré de l'informatik .
Bref encore merci les gars.
je retourne à ma liste de plantes (taille, floraison,sol,climat,...).
Prochains objectifs : redimensionner les commentaires (comportant les foto) à la taille d'origine des photos.
faire une copie du fichier sur cd !!!!!!!!! (1 virus pourait engendrer un semtiment de suicide).
Pui enfin ralonger ma liste de végétaux d'ornement pour arriver à 5 000 espèces !!
c bo la technologie !
je vé imédiatemeent irigé un autel aux dieux argixu et eric !
Et faire de la pub à tou mes amis de ce site merveilleux.
c'est une bible pour tout les déspéré de l'informatik .
Bref encore merci les gars.
je retourne à ma liste de plantes (taille, floraison,sol,climat,...).
Prochains objectifs : redimensionner les commentaires (comportant les foto) à la taille d'origine des photos.
faire une copie du fichier sur cd !!!!!!!!! (1 virus pourait engendrer un semtiment de suicide).
Pui enfin ralonger ma liste de végétaux d'ornement pour arriver à 5 000 espèces !!
Bonjour,
Tu peux fixer la taille du commentaire en ajoutant après c.Comment.Shape.Select True :
Mais il y a un pb, c'est que les images des commentaires sont intégrées au fichier excel, et il prendra une taille phénoménale si tu y mets 5000 images. Et le temps de chargement du fichier sera en conséquence...
Je te propose de faire autrement : fabriquer le commentaire lors du clic sur la cellule et de le détruire lors d'une autre sélection. Les images sont attendues dans un répertoire img qui doit être au même niveau que le fichier excel (chemin relatif pour pouvoir copier l'ensemble n'importe où, y compris sur un cd).
Exemple : ImgCommentaires.xls
Penser à créer le répertoire img pour tester...
eric
Tu peux fixer la taille du commentaire en ajoutant après c.Comment.Shape.Select True :
c.Comment.Shape.Height = 150 'hauteur c.Comment.Shape.Width = 200 ' largeur
Mais il y a un pb, c'est que les images des commentaires sont intégrées au fichier excel, et il prendra une taille phénoménale si tu y mets 5000 images. Et le temps de chargement du fichier sera en conséquence...
Je te propose de faire autrement : fabriquer le commentaire lors du clic sur la cellule et de le détruire lors d'une autre sélection. Les images sont attendues dans un répertoire img qui doit être au même niveau que le fichier excel (chemin relatif pour pouvoir copier l'ensemble n'importe où, y compris sur un cd).
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim img As String [D:D].ClearComments If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub If Target.Cells.Count <> 1 Then Exit Sub img = ".\img\" & Target.Value On Error Resume Next Target.AddComment Target.Comment.Visible = True Target.Comment.Shape.Select True Target.Comment.Shape.Height = 150 'hauteur Target.Comment.Shape.Width = 200 ' largeur Selection.ShapeRange.LockAspectRatio = msoFalse Selection.ShapeRange.Fill.UserPicture img Target.Comment.Visible = False On Error GoTo 0 End Sub
Exemple : ImgCommentaires.xls
Penser à créer le répertoire img pour tester...
eric
bonjour
pour le nouveau macro qui se déclanche seulement si on sélection la cellule, l'image associée n'apparait pas !
Alors que le dossier img comportant les images se situe bien à côté du fichier exel. Et que j'ai également nommé les cellules (en colonne D ).
ke s pa s til ?
pour le nouveau macro qui se déclanche seulement si on sélection la cellule, l'image associée n'apparait pas !
Alors que le dossier img comportant les images se situe bien à côté du fichier exel. Et que j'ai également nommé les cellules (en colonne D ).
ke s pa s til ?
Je ne sais pas, je viens de retester c'est ok...
Le code est à coller dans le code de la feuille, pas dans un module. Teste avec le fichier exemple d'abord...
Dans un répertoire tu dois avoir le fichier excel et un sous-répertoire nommé 'img' avec tes images.
Le nom complet du fichier Hiver.jpg doit être dans la cellule, le triangle rouge indicateur de commentaire doit apparaitre au clic et le curseur souris doit être sur la cellule pour voir l'image.
Après On Error Resume Next ajoute
MsgBox (img)
une fenetre avec .\img\Hiver.jpg (par exemple) doit apparaitre au clic
eric
Le code est à coller dans le code de la feuille, pas dans un module. Teste avec le fichier exemple d'abord...
Dans un répertoire tu dois avoir le fichier excel et un sous-répertoire nommé 'img' avec tes images.
Le nom complet du fichier Hiver.jpg doit être dans la cellule, le triangle rouge indicateur de commentaire doit apparaitre au clic et le curseur souris doit être sur la cellule pour voir l'image.
Après On Error Resume Next ajoute
MsgBox (img)
une fenetre avec .\img\Hiver.jpg (par exemple) doit apparaitre au clic
eric
j'ai testé avec ton exemple (en respectant la création du sous-répertoire)
j'ai bien rentré la macro modifié dans la feuille 1 (dans microsoft visual basic)
une fenêtre apparait au clic
mais le commentaire ne comporte pas d'image !
?????????????????
Si tu ne peut pas m'aider, c'est pas trop grave !
Car g compris le fonctionnement de la macro "ajout image et commentaire".
J'associerai donc une photos aux genres et non aux espéces ! il y aura moins de photos donc se sera moins long à charger.
merci encore de ton aide.
j'ai bien rentré la macro modifié dans la feuille 1 (dans microsoft visual basic)
une fenêtre apparait au clic
mais le commentaire ne comporte pas d'image !
?????????????????
Si tu ne peut pas m'aider, c'est pas trop grave !
Car g compris le fonctionnement de la macro "ajout image et commentaire".
J'associerai donc une photos aux genres et non aux espéces ! il y aura moins de photos donc se sera moins long à charger.
merci encore de ton aide.
Bonjour tous, Eric,
Peut-être une cause de la défaillance ?
Le directory actif n'est pas nécessairement celui de l'appli.
A+
Peut-être une cause de la défaillance ?
dim Chemin as string Chemin = ThisWoorkbook.Path img =Chemin & "\img\" & Target.Value
Le directory actif n'est pas nécessairement celui de l'appli.
A+
Comme Eric ne semble pas être en ligne je me permet de continuer...
Pour être certain que tu est dans le bon répertoir;
Si tu a un répertoir disting pour ton appli ex: E:\MonAppli et que tu a créer un sous-répertoir img la fonction path convient.
Si tu à créer le répertoir ailleur, genre E:\img c'est la deuxième solution.
L'emploi de chemin relatif est asser difficile à maitriser, il faudrait employer les fonctions CHDrivre et CHDir pour être sûr qu'ont est dans le bon.
A+
Pour être certain que tu est dans le bon répertoir;
Si tu a un répertoir disting pour ton appli ex: E:\MonAppli et que tu a créer un sous-répertoir img la fonction path convient.
Si tu à créer le répertoir ailleur, genre E:\img c'est la deuxième solution.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim img As String, Chemin as String [D:D].ClearComments If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub If Target.Cells.Count <> 1 Then Exit Sub 'Solution 1 Chemin = Application.path & "\img\" 'Solution 2 Chemin = "E:\img\" img = Chemin & Target.Value On Error Resume Next Target.AddComment Target.Comment.Visible = True Target.Comment.Shape.Select True Target.Comment.Shape.Height = 150 'hauteur Target.Comment.Shape.Width = 200 ' largeur Selection.ShapeRange.LockAspectRatio = msoFalse Selection.ShapeRange.Fill.UserPicture img Target.Comment.Visible = False 'Pour enlever l'édition Target.Comment.Visible = True On Error GoTo 0 End Sub
L'emploi de chemin relatif est asser difficile à maitriser, il faudrait employer les fonctions CHDrivre et CHDir pour être sûr qu'ont est dans le bon.
A+
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim img As String
[D:D].ClearComments
If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub
If Target.Cells.Count <> 1 Then Exit Sub
Dim Chemin As String
Chemin = ThisWorkbook.Path
img = Chemin & "\img\" & Target.Value
On Error Resume Next
Target.AddComment
Target.Comment.Visible = True
Target.Comment.Shape.Select True
Target.Comment.Shape.Height = 150 'hauteur
Target.Comment.Shape.Width = 120 ' largeur
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Fill.UserPicture img
Target.Comment.Visible = False
On Error GoTo 0
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Target.Offset(0, 4) = "" Then
Target.Offset(0, 4) = Date
End If
End If
End Sub
le fait que je met ces lignes de codes dans vba j'ai un message "nom ambigu détecté" , que faudrait t il modifier?
Dim img As String
[D:D].ClearComments
If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub
If Target.Cells.Count <> 1 Then Exit Sub
Dim Chemin As String
Chemin = ThisWorkbook.Path
img = Chemin & "\img\" & Target.Value
On Error Resume Next
Target.AddComment
Target.Comment.Visible = True
Target.Comment.Shape.Select True
Target.Comment.Shape.Height = 150 'hauteur
Target.Comment.Shape.Width = 120 ' largeur
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Fill.UserPicture img
Target.Comment.Visible = False
On Error GoTo 0
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Target.Offset(0, 4) = "" Then
Target.Offset(0, 4) = Date
End If
End If
End Sub
le fait que je met ces lignes de codes dans vba j'ai un message "nom ambigu détecté" , que faudrait t il modifier?
Bonsoir tout le monde,
Je me demande si le pb n'est pas dû à un bug sur excel 2007.
Je viens de tester ta version lermite. Sur 2003 c'est ok, sur 2007 rien ne s'affiche...
Il y en avait déjà un qui empêchait l'affichage d'une image dans un objet image si c'était une adresse internet de fournie. J'ai l'impression qu'il y en un de plus pour les commentaires, et là même les images locales ne s'affichent pas...
Ne pas s'axer sur le chemin relatif, dans ma version il fallait le chemin complet c:\img\collines.jpg dans la cellule.
Cette notion est apparue lorsque je lui ai conseillé
Après On Error Resume Next ajoute
MsgBox (img)
une fenetre avec .\img\Hiver.jpg (par exemple) doit apparaitre au clic
pour qu'il contrôle le repertoire des images, là excel n'affiche que le chemin relatif
Ca serait bien que ceux qui ont des pb confirme leur version excel
eric
Je me demande si le pb n'est pas dû à un bug sur excel 2007.
Je viens de tester ta version lermite. Sur 2003 c'est ok, sur 2007 rien ne s'affiche...
Il y en avait déjà un qui empêchait l'affichage d'une image dans un objet image si c'était une adresse internet de fournie. J'ai l'impression qu'il y en un de plus pour les commentaires, et là même les images locales ne s'affichent pas...
Ne pas s'axer sur le chemin relatif, dans ma version il fallait le chemin complet c:\img\collines.jpg dans la cellule.
Cette notion est apparue lorsque je lui ai conseillé
Après On Error Resume Next ajoute
MsgBox (img)
une fenetre avec .\img\Hiver.jpg (par exemple) doit apparaitre au clic
pour qu'il contrôle le repertoire des images, là excel n'affiche que le chemin relatif
Ca serait bien que ceux qui ont des pb confirme leur version excel
eric
Bonsoir tout le monde,
Est-ce que je peux intervenir. J'avais gardé le fichier d'Eric
Mais c'est pour dire que justement je n'ai pas de problème !! Sur excel 2003 et sur 2007.
Pourtant, le chemin ne respecte pas ses consignes :
- Le fichier excel est sur D:\MES DOCUMENTS\CCM (dossier mes documents qui part automatiquement sur une partition D, suite à un récent plantage de mon micro)
- Les images que je remonte sont sous sur C:\Documents and Settings\Argitxu\Mes images\ Chemin que j'ai mis dans le fic excel en colonne A sur 4 lignes avec le \ à la fin et le nom du fichier image en B : toto.jpg.
En lançant la macro sur C1-C4, mes images s'affichent sans souci.
Je viens de rajouter le MsgBox (img) à la macro, et en lançant il me demande bien de confirmer pour chacune des 4 lignes ce message : C:\Documents and Settings\Argitxu\Mes images\ . et tout remonte.
Et en rajoutant encore le c.Comment.Shape...qque chose....pour caler la hauteur, c'est toujours bon sur les 2 versions d'excel.
Bon, c'était au cas où... suis pas sûre que ça vous aide à trouver ;-)
Est-ce que je peux intervenir. J'avais gardé le fichier d'Eric
Mais c'est pour dire que justement je n'ai pas de problème !! Sur excel 2003 et sur 2007.
Pourtant, le chemin ne respecte pas ses consignes :
- Le fichier excel est sur D:\MES DOCUMENTS\CCM (dossier mes documents qui part automatiquement sur une partition D, suite à un récent plantage de mon micro)
- Les images que je remonte sont sous sur C:\Documents and Settings\Argitxu\Mes images\ Chemin que j'ai mis dans le fic excel en colonne A sur 4 lignes avec le \ à la fin et le nom du fichier image en B : toto.jpg.
En lançant la macro sur C1-C4, mes images s'affichent sans souci.
Je viens de rajouter le MsgBox (img) à la macro, et en lançant il me demande bien de confirmer pour chacune des 4 lignes ce message : C:\Documents and Settings\Argitxu\Mes images\ . et tout remonte.
Et en rajoutant encore le c.Comment.Shape...qque chose....pour caler la hauteur, c'est toujours bon sur les 2 versions d'excel.
Bon, c'était au cas où... suis pas sûre que ça vous aide à trouver ;-)
Bé oui Argixu, tu peux intervenir, et tu as bien fait :-)
Du coup je me suis repenché sur le fichier que j'avais mis au post 8 car j'avais un peu oublié ce que j'avais fait...
En fait j'avais mis 2 versions :
- une avec les images stockées dans le fichier. Se sert des colonnes A, B et C pour le résultat. Une fois la macro appelée par le bouton on peut supprimer A:B. C'est la macro qui est dans le module.
- une seconde version avec les images hors fichier (dans un répertoire .\img\ sous-répertoire au niveau du fichier .xls), et c'est celle là qui pose effectivement problème. Celle-ci ne se sert que des noms de fichiers mis en colonne D. C'est la macro qui est dans la feuille.
Et comme l'a justement remarqué lermite le pb vient bien du chemin relatif que l'on corrige en remplaçant avec
img = ThisWorkbook.Path & "\img\" & Target.Value
la version corrigée ImgCommentaires.xls qui marche sur 2003 et 2007
Bonne nuit à tous
eric
Du coup je me suis repenché sur le fichier que j'avais mis au post 8 car j'avais un peu oublié ce que j'avais fait...
En fait j'avais mis 2 versions :
- une avec les images stockées dans le fichier. Se sert des colonnes A, B et C pour le résultat. Une fois la macro appelée par le bouton on peut supprimer A:B. C'est la macro qui est dans le module.
- une seconde version avec les images hors fichier (dans un répertoire .\img\ sous-répertoire au niveau du fichier .xls), et c'est celle là qui pose effectivement problème. Celle-ci ne se sert que des noms de fichiers mis en colonne D. C'est la macro qui est dans la feuille.
Et comme l'a justement remarqué lermite le pb vient bien du chemin relatif que l'on corrige en remplaçant avec
img = ThisWorkbook.Path & "\img\" & Target.Value
la version corrigée ImgCommentaires.xls qui marche sur 2003 et 2007
Bonne nuit à tous
eric
Bonjour,
Eric, tu as bien compris. En fait je voulais dire à Mike que le fichier marchait bien. Mais, misère ! j’avais fait les choses à moitié. Dans le fichier que j’avais gardé sur mon disque, je ne me rappelais plus que j’avais enlevé la colonne D (peut-être pour tester plus vite), celle justement qui vous a posé souci. Donc excuses, un coup pour rien ;-)
Du coup, je l’ai essayée cette fois-ci ta dernière solution 2 en D, avec tout comme tu as dit : Un dossier avec le xls et son sous-dossier \img\ qui est excellente !
Et qui marche aussi avec le dossier copié sur clé USB pour l’emporter.
Encore Bravo et merci Eric et bien sûr aussi à Lermite et Mike.
Bonnes fêtes à vous tous.
Eric, tu as bien compris. En fait je voulais dire à Mike que le fichier marchait bien. Mais, misère ! j’avais fait les choses à moitié. Dans le fichier que j’avais gardé sur mon disque, je ne me rappelais plus que j’avais enlevé la colonne D (peut-être pour tester plus vite), celle justement qui vous a posé souci. Donc excuses, un coup pour rien ;-)
Du coup, je l’ai essayée cette fois-ci ta dernière solution 2 en D, avec tout comme tu as dit : Un dossier avec le xls et son sous-dossier \img\ qui est excellente !
Et qui marche aussi avec le dossier copié sur clé USB pour l’emporter.
Encore Bravo et merci Eric et bien sûr aussi à Lermite et Mike.
Bonnes fêtes à vous tous.
Salut tout le monde, le sujet est vieux, certes, mais toujours utile !
C'est pourquoi j'ai utilisé le premier code fourni, ça marche. Mon problème c'est que mes commentaires sont des cases d'une base de données que j'utilise pour un tableau croisé dynamique. Mais le commentaire n'est pas transporté dans le tableau...
C'est pourquoi j'ai utilisé le premier code fourni, ça marche. Mon problème c'est que mes commentaires sont des cases d'une base de données que j'utilise pour un tableau croisé dynamique. Mais le commentaire n'est pas transporté dans le tableau...