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

XL 2016 Mise en forme sur un rectangle avec un nom variable

Robinho8991

XLDnaute Nouveau
Bonjour à tous,

Je suis en train de paramétrer une mise en forme pour des rectangles qui correspondent à la date du jour dans mon fichier principal.
Comme il y a beaucoup de rectangles, je les ai nommé de la manière suivante : "rectangle1", rectangle2" etc.

Le but est que dans ma procédure identifie la date d'aujourd'hui et la stock dans une variable i.

J'utilise ensuite cette formule pour colorer le rectangle correspondant : ActiveWorkbook.Sheets("Feuil1").Shapes("Rectangle" & i).Fill.ForeColor.RGB = RGB(255, 153, 0)

Le problème est que le rectangle n'est pas reconnu et donc rien ne marche

je joins un fichier simplifié pour illustrer le problème

Merci d'avance pour vos réponses
 

Pièces jointes

  • test.xlsm
    15.1 KB · Affichages: 6
Solution
Bonjour
j'attire ton attention sur l'espace qui suit "rectangle" et avant le nombre
j'attire ton attention aussi sur le fait que le fill visible de tes rectangle est a false il faut donc remettre le fill visible avant de le colorer
VB:
Option Explicit

Sub test()
    Dim i As Integer
    i = Day(Date)
    With ActiveWorkbook.Sheets("Feuil1").Shapes("Rectangle " & i)
        .Fill.Visible = True
        .Fill.ForeColor.RGB = RGB(255, 153, 0)
    End With
End Sub

patricktoulon

XLDnaute Barbatruc
Bonjour
j'attire ton attention sur l'espace qui suit "rectangle" et avant le nombre
j'attire ton attention aussi sur le fait que le fill visible de tes rectangle est a false il faut donc remettre le fill visible avant de le colorer
VB:
Option Explicit

Sub test()
    Dim i As Integer
    i = Day(Date)
    With ActiveWorkbook.Sheets("Feuil1").Shapes("Rectangle " & i)
        .Fill.Visible = True
        .Fill.ForeColor.RGB = RGB(255, 153, 0)
    End With
End Sub
 

Discussions similaires

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