Microsoft 365 insertion automatique d'images en fonction d'une autre cellule

Ragnarok001

XLDnaute Nouveau
bonjour,
je vous joins ce que j'ai commencé grâce à d'autres recherches/fichiers,
je souhaite que le drapeau change dans l'onglet "tableau" à chaque ligne en fonction du pays en colonne A (avec ou sans liste déroulante), or dans le cas présent je n'arrive à le faire mais que sur la première ligne France (onglet "tableau"), pour la seconde ma formule ne fonctionne pas (puisqu'elle est liée à $A$2 et que je ne vois pas comment étendre la sélection..
si vous avez la solution, je suis preneur :)

en tout cas, merci d'avance..
 

Pièces jointes

  • excel images.xlsx
    56.8 KB · Affichages: 12
Solution
Bonjour Ragnarok001,

La macro précédente fonctionnait pour une entrée unique, celle-ci traite tous les textes en colonne A :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 Or Target.Column > 1 Then Exit Sub
Dim c As Range, cc As Range, p As Object
Application.ScreenUpdating = False
'---RAZ---
Me.DrawingObjects.Delete
'---copier-coller des images---
For Each c In Range("A2:A" & Cells.SpecialCells(xlCellTypeLastCell).Row)
    If c <> "" Then
        With Sheets("drapeaux")
            Set cc = .Columns(1).Find(c, , xlValues, xlWhole)
            If Not cc Is Nothing Then
                For Each p In .Pictures
                    If p.TopLeftCell.Address = cc(1, 3).Address Then
                        p.Copy...

job75

XLDnaute Barbatruc
Bonjour,

La colonne B est celle qui reçoit les images, elle est utilisée ici :
VB:
                        With Selection
                            .Left = c(1, 2).Left + (c(1, 2).Width - .Width) / 2
                            .Top = c(1, 2).Top + (c(1, 2).Height - .Height) / 2
                        End With
c est en colonne A, C(1, 2) est la 2ème cellule à droite en partant de c.

A+
 

Discussions similaires