Insertion d'une image dans une cellule
Bonjour à tous
Je tiens à préciser qu'avant de venir vous poser ma question j'ai bien cherché sur le forum un sujet du même type exister et je n'en est pas trouver, veuillez m'excuser par avance s'il en exister quand même et que je l'ai pas vu.
Pour ce qui est de ma question, j'ai un problème tout bête, je voudrais lier une image à une cellule (je suis sur EXCEL 2016), j'ai essayé d'utiliser la fonction "Déplacer et dimensionner avec les cellules" mais ça ne fonctionne pas, j'ai essayé en changeant le format de mes images/photos sans succès. Je précise que je n'ai pas trouvé de manière de "valider" mon choix.
Sauriez pourquoi la fonction "Déplacer et dimensionner avec les cellules" ne fonctionne pas?
Auriez vous une autre manière de le faire ?
En vous remerciant par avance pour vos réponses
Viviane
Bonjour Viviane7835 et bienvenue sur le forum.
Il n'est pas possible de lier une image à une cellule (en tout cas sans passer par de la programmation et des évènements). L'image est *sur* la cellule, mais n'est pas liée. Si la ligne est supprimée, l'image elle ne bougera pas (ne sera pas supprimée/redimensionnée etc...)
J'ai déjà répondu plusieurs fois à des questions similaires (insérer des images dans une cellule), et je propose généralement la solution suivante; mettre l'image en commentaire. La cellule de commentaire s'adapte alors à la taille de l'image.
La solution peut convenir en fonction de ton besoin, ou pas, à toi de me dire !
Merci beaucoup d3d9x, pour ta réponse.
Oui cela pourrais convenir si je peut imprimer le commentaire.
Es que cela est possible, de l'afficher au moment de l’impression et qu'il soit pris en compte ?
Voilà un lien vers le post en question. De mémoire le dernier fichier du sujet doit convenir.https://forum.excel-pratique.com/post433090.html?hilit=bac%20de%20r%C3%A9tention#p433090
Concernant ta demande d'impression, le site de microsoft office indique que oui https://support.office.com/fr-fr/article/Imprimer-les-commentaires-718920d5-ddeb-49f5-9460-cc1dc0b074a6
Pour adapter la solution à ton fichier (attention celui dit doit accepter les macros !)
Voilà le code à copier/coller dans un module
Etape 1 : Alt + F11 -> clique droit sur VBAProject.... -> Insertion module -> Coller le code ci-dessous -> Enregistrer
Etape 2 : revenir sur la feuille excel -> onglet développeur -> Insertion -> Bouton (controle de formulaire) -> Sélectionner la macro "Commentaire Avec Image"
Etape 3: sauvegarder et utiliser en cliquant sur le bouton.
Option Explicit
Dim picture_selected As Boolean, cell_selected As Boolean
Private Function PickPictureDialogOpen() As String
PickPictureDialogOpen = ""
Dim lngCount As Long
' Open the file dialog
With Application.FileDialog(msoFileDialogFilePicker)
'on autorise a sélectionner qu'une image
.AllowMultiSelect = False
.Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 1
'.Show
If .Show <> 0 Then
picture_selected = True
PickPictureDialogOpen = .SelectedItems(1)
End If
End With
End Function
Private Sub selectOneCell()
Dim x As Boolean
Dim celres As Range
On Error Resume Next
Do While Not x
Set celres = Application.InputBox("Sélectionnez une cellule", Title:="Sélectionnez une cellule", Type:=8)
If celres Is Nothing Then
'MsgBox "Cell not selected!"
Exit Sub
End If
Select Case celres.Count
Case Is = 1
x = True
cell_selected = True
celres.Select
Case Else
MsgBox "Ne sélectionnez qu'une cellule"
End Select
Loop
End Sub
Public Sub CommentaireAvecImage()
Dim chemin_image As String
picture_selected = False
cell_selected = False
chemin_image = PickPictureDialogOpen
selectOneCell
If picture_selected = False Or cell_selected = False Then
End
Else
Dim iPict As IPictureDisp, HauteurImage As Double, LargeurImage As Double
Set iPict = LoadPicture(chemin_image)
HauteurImage = Round((iPict.Height) / 21.16, 0)
LargeurImage = Round((iPict.Width) / 21.16, 0)
With Selection
.ClearComments
.AddComment
.Comment.Text Text:=""
With .Comment
.Shape.Fill.UserPicture chemin_image
.Shape.ScaleWidth 1, msoFalse, msoScaleFromTopLeft
.Shape.ScaleHeight 1, msoFalse, msoScaleFromTopLeft
.Shape.LockAspectRatio = msoFalse
.Shape.Height = HauteurImage
.Shape.Width = LargeurImage
End With
End With
Set iPict = Nothing
End If
End Subbonjour
sinon si tu crains le VBa ; tu peux chercher dans gogole en saisissant ' inserer une image excel ' tu tomberas sur une video qui devrais te satifaire , bien entendu ce procédé ne sera plus adapté pour 1000 photos car le fichier devient vite tres lourd
cordialement
J'ai finis par trouver une solution à mon problème ça pourrais en aider d'autres.
Donc pour la fonction "déplacer et dimensionner avec les cellules" fonctionne il suffit d'ajuster une première fois la taille de l'image à la cellule puis de saisir la dite propriété en faisant :
click droit --> format de l'image --> tailler et propriété --> déplacer et dimensionner avec les cellule.
Je pense cependant que cette fonctions n'existe pour le moment que sur EXCEL 2016.
Merci à tous pour vos réponse.
A bientôt