Insertion d'une image en VBA ... lorsque son nom change ...et + [Résolu/Fermé]

Signaler
Messages postés
5
Date d'inscription
lundi 3 mars 2014
Statut
Membre
Dernière intervention
5 mars 2014
-
Messages postés
5
Date d'inscription
lundi 3 mars 2014
Statut
Membre
Dernière intervention
5 mars 2014
-
Bonjour à tous !

Je m'explique... Je suis en plein classement méthodique avec un fichier excel déjà bien chargé... mais celui-ci est lié à un autre fichier avec une mise en page prédéfinie. A cette mise en page je voudrai....

Insérer une image dans la cellule j4
Avec une image faisant référence à un nom (exemple : Bp_Fl_Be_Ch_Er_Type_01_Var.b_001.jpg) en cellule I2

Particularité:
Listing d'image se trouvant dans un dossier
Ajuster cette image en haut à gauche de la cellule J4 Avec un format de 70% à l'original (soit 3,3 cm)
Celle-ci doit changer quand le nom change en cellule I2....

Je ne sais pas si j'ai été clair..mais je vous remercie par avance pour vos réponses.
Cordialement

Grib17

4 réponses

Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
49
A mon avis c'est possible, il faut faire en sorte que la macro s'active lorsque la valeur de la cellule I2 change.

Et définir une vraiable comme étant le contenu de la cellule I2 pour que la Macro sache quel image importé.

Utilise l'enregisteuse de macro dans excel pour trouver le code que tu ne connais pas.
Messages postés
5
Date d'inscription
lundi 3 mars 2014
Statut
Membre
Dernière intervention
5 mars 2014

Merci SKK201 pour cet itinéraire à suivre. Je vais chercher dans ce sens là.

Je vous tiens au curant de l'évolution de mon travail.
Cordialement,
Messages postés
16376
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 janvier 2021
3 120
Bonjour,

Ci joint exemple du choix d'une image(photo) par changement du nom de l'image (ici le N° matricule d'un agent d'une société); les formats admis: jpg,jpeg,png, gif

la dimension de ta photo est donné par la construction d'une forme image (shape) nommé "photo" dans la cellule (ici, à gauche)

Les dimensions et positions sont donnés par les propriétés height, width, top, left: il faut souvent tatonner; la largeur de la cellule , et non de la forme, dans ton cas sera de 3,3 cm

maintenant, utiliser l'enregistreur, je veux bien mais...

https://www.cjoint.com/?3CfjHrG19Jk

En espèrant que...

Messages postés
5
Date d'inscription
lundi 3 mars 2014
Statut
Membre
Dernière intervention
5 mars 2014

Bonsoir,
Merci Michel_M pour ton investissement,

Voici avec l'aide d'un ami qui touche un peu aussi au VBA une solution qui corrige également des erreurs de caractères (espace,_).
J'ai trouvé ce que je cherchai et cela fonctionne parfaitement.
Merci pour ces pistes qui nous ont bien aidés à obtenir ce travail.

Cordialement à tous.
Merci
Grib17

Voici le code ainsi développé:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim path As String
Dim image_nom As String

On Error GoTo pbPathImage
'Sort si plusieurs celulles de sélectionnées
If Target.Count > 1 Then Exit Sub
'Sort si autre cellule que l6
If Target.AddressLocal = "$H$13" Then
'modifie le chemin de l'image en j4
For Each img In ActiveSheet.Shapes
img.Delete
Next
'là où l'image va s'inserer
Range("I2").Select
image_nom = ActiveSheet.Range("M2").Value
image_nom = Replace(image_nom, " ", "")
image_nom = Replace(image_nom, "-", "_")
path = ThisWorkbook.path & "\Photographies\01-Collection complete BR+BP\" & image_nom & ".jpg"
'path = "\Photographies\Categorie\ Fiches\BP_Fl_Be_Ch_Er_Type_02_Var.a_001.jpg"

ActiveSheet.Shapes.AddPicture path, False, True, 400, 20, 90, 90

End If

Exit Sub
pbPathImage:
MsgBox Err & ": " & Error(Err) & vbCrLf & "Attend l'image : " & path

End Sub