Bonjour,
J'ai fait quelques recherches, sans grand résultat, fait divers petits tests plus ou moins peu concluants ! pour finir par dissocier le transfert du texte, fait par tableau VBA, du transfert de l'image opéré par copie mais sur le tableau source en U12:V13 et collé en image liée à sa source.
C'est en fait la méthode Appareil photo pour l'image, mais il semble que ce soit celle qui donne le meilleur résultat.
Pas de problème à la suite pour insérer une ligne et la mettre en forme pour préparer l'inclusion suivante.
Remarque : l'insertion pourrait être faite avant le transfert, de façon à ne pas avoir une ligne vide permanente...
Mais teste d'abord la méthode...
Sub Macro1()
Dim Pimg As Range, Img As Object, Lgn(6), i%
With ActiveSheet
Set Pimg = .Range("U12:U13")
Do
i = i + 1
If Pimg.Cells(i, 1) = .Range("C5") Then
Set Pimg = Pimg.Cells(i, 2)
Exit Do
End If
Loop While i < Pimg.Rows.Count
Lgn(0) = .Cells(5, 1): Lgn(1) = Date
For i = 4 To 5
Lgn(i - 2) = .Cells(5, i): Lgn(i + 1) = .Cells(5, i + 3)
Next i
End With
With Worksheets("Feuil2")
.Range("A4:G4").Value = Lgn
If Pimg.Cells.Count = 1 Then
Pimg.Copy
Set Img = .Pictures.Paste(True)
Application.CutCopyMode = False
With .Range("E4")
Img.Left = .Left: Img.Top = .Top + .Height / 2 - Img.Height / 2
End With
End If
.Range("A4:G4").Insert xlShiftDown, xlFormatFromRightOrBelow
With .Range("A4:G4")
.Borders.Weight = xlThin
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
End With
End With
End Sub
Cordialement.