insertion image avec macro sans doublon lors de la réexécution
Bonjour,
j'explique en quelques mots mon projet:
1: sur la première sheet, je voudrais insérer une image automatique par article avec prix, réf, ... que j'ajouterai moi-meme
2: ensuite par article j'aimerai faire une feuille automatique reprenant divers information pour une gestion des stocks
j'ai déjà réussi à insérer les images automatiquement mais comme il y aura sans doute de nouveaux articles, mon code insère de nouveau les meme photo déjà présente et donc je me retrouve avec deux photos superposées.
Serait-il possible de vérifier la présence de photo et intégrer seulement celles manquantes et par la meme occasion ajuster la largeur des cellules à celle de la photo la plus grande?
voici mon code pour la première partie insertion d'image sheet 1:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Sub insertion_image()
Dim i As Integer, path As String, sep As String, img As String
sep = Application.PathSeparator
path = ActiveWorkbook.path & sep & "images" & sep
' balaye les xxx lignes
For i = 1 To 15
' indique à Excel où insérer l'image
Cells(i, 2).Select
' insère une image jpg
img = path & Cells(i, 1).Value & ".jpg"
If Dir(img) = "" Then
MsgBox "Image """ & img & """ non trouvée"
Else
ActiveSheet.Pictures.Insert(path & Cells(i, 1).Value & ".jpg").Select
End If
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 30#
.ShapeRange.Width = 100#
.ShapeRange.Rotation = 0#
End With
' ajuste la hauteur de la ligne, avec une marge inférieure de 10 pts
Rows(i).RowHeight = Selection.Height + 10
Selection.Top = Cells(i, 2).Top
Selection.Left = Cells(i, 2).Left
Next
Columns(2).ColumnWidth = Selection.Width
End Sub |
Pour la seconde partie j'ai pas encore essayé mais j'espère régler le premier point avant.
Merci d'avance