Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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: 13
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…