Coloration cellule au démarrage excel 2016 VBA

Zoso -  
 Zoso -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. Zoso
     
    Bonjour,

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

    Merci à vous
    0