Coloration cellule au démarrage excel 2016 VBA

Bonjour,

J'aimerais colorier une plage de cellule définie par l'utilisateur au démarrage du excel mais mon code ne marche pas (erreur définit pas l'application ou l'objet), voici le code :
"
Sub Workbook_Open()

Dim X As Long
Dim Y As Long
Dim i As Long
Dim j As Long

X = InputBox("Nombre de cases horizontales :")
Y = InputBox("Nombre de cases verticales :")
For i = 0 To X
For j = 0 To Y
range(Cells(1, 1), Cells(j, i)).Interior.Color = RGB(170, 170, 170)
range(Cells(1, 1), Cells(j, i)).Borders.Weight = xlMedium
Next j
Next i

End Sub

"
Quand je change "range(Cells(1, 1), Cells(j, i))" par "range(Cells(1, 1), Cells(10, 15))" le code fonctionne mais je ne trouve pas comment insérer mes deux variables à la place d'une valeur fixe.

Merci d'avance

2 réponses

  1. Bonjour,

    vous aviez la reponse en ecrivant ceci
    par "range(Cells(1, 1), Cells(10, 15))
    10-->Y et 15--->X et surtout sans boucles for next
    Derniere chose,
    Cells(0,0)
    , ca n'existe pas

    Sub Workbook_Open()
        Dim X As Long
        Dim Y As Long
    
        X = InputBox("Nombre de cases horizontales :")
        Y = InputBox("Nombre de cases verticales :")
        With Worksheets("feuil1")  'adaptez le nom de feuille
            .Range(Cells(1, 1), Cells(Y, X)).Interior.Color = RGB(170, 170, 170)
            .Range(Cells(1, 1), Cells(Y, X)).Borders.Weight = xlMedium
        End With
    End Sub
    0
    1. Bonjour,

      Votre code fonctionne et est bien plus simple, j'aurais dû y penser tout seul.

      Merci à vous
      0