Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

winslow

XLDnaute Nouveau
Bonjour le forum,
Je suis à la recherche d'un code me permettant d'insèrer des images dans une cellule.
Jusque là, rien de trop difficile..
Le hic, c'est que mes références qui se trouvent en colonne A n'ont pas tout à fait les mêmes noms que mes Jpeg qui se trouve dans mon répertoire.
Je m'explique par un exemple:
une référence dans cellule A1 : B4805
mon image dans mon répertoire : B4805_251007.
Ma réference est toujours composé de 5 caractères qui compose les 5 premiers caractères du nom de mon image.
Les caractères qui suivent mes 5 premiers caractères changent tous les mois.
Donc mon image le mois prochain s'appellera pê B4805_101107
Voici le code que j'ai trouvé et qui fonctionne en suposant que mes 5 premiers caractères sont tjrs suivis de _251007
Merci de m'aider,
David

Sub IntegrationPhoto()
Dim derligne As Integer, i As Integer
Dim chemin As String
Dim image As Object
For Each image In Sheets("Main").Shapes
If image.Name <> "Button 12" Then image.Delete
Next image
derligne = Range("Main!a65536").End(xlUp).Row
For i = 2 To derligne
If Sheets("Main").Range("d" & i) = "x" Then
With Sheets("Main").Range("A" & i)
If Not .Value = "" Then 'gestion cellule vide
chemin = ActiveWorkbook.Path & "\" & .Text & "_251007" & ".jpg"
Set image = ActiveSheet.Pictures.Insert(chemin)
On Error Resume Next
If image.ShapeRange.Height > image.ShapeRange.Width Then
With image.ShapeRange

.LockAspectRatio = msoTrue
.Left = Sheets("Main").Range("b" & i).Left
.Top = Sheets("Main").Range("b" & i).Top
.Height = Sheets("Main").Range("b" & i).Height
'.Width = Sheets("feuil1").Range("b" & i).Width
End With
Else
With image.ShapeRange
.LockAspectRatio = msoTrue
.Left = Sheets("Main").Range("b" & i).Left
.Top = Sheets("Main").Range("b" & i).Top
'.Height = Emplacement.Height
.Width = Sheets("Main").Range("b" & i).Width
End With
End If
End If
End With
End If
Next i
End Sub
 
Re : Insertion image

😱 aie aie aie
j'en connais qui vont être énervés...😉

(une boutade de ma part pour quelqu'un que j'apprécie grandement même si je n'ai jamais le plaisir de le rencontrer)

bonjour winslow
évite de multiplier les posts pour un même sujet
à+
 
Re : Insertion image

Salut le fil, ccpapy,

Si tu parles de moi, c'est fichu.... même pas.... vu, enfin pas encore.

De plus j'avais pris de bonnes résolutions pour cette nouvelle année (la mienne), mais c'est comme le tabac, on arrête de fumer dans .................... cinq minutes....

Je vais être cool, le plus possible, enfin le temps de fumer une cigarette.... tiens, du coup, la rencontre a eu lieu........

Sinon pour winslow, il y a, tout de même et maintenant, les cinq dernières discussions sur le sujet, en bas de ce fil..... A voir....

En plus et à exploiter Grandement La RECHERCHE en haut, juste en dessous de ton pseudo.....

Salut tous et bon week....

Jean-Pierre (même pas énervé)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Réponses
4
Affichages
362
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
Retour