Coloration cellule au démarrage excel 2016 VBA

Fermé
Zoso - Modifié le 14 mai 2017 à 20:05
 Zoso - 14 mai 2017 à 21:22
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


A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
14 mai 2017 à 20:47
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
Bonjour,

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

Merci à vous
0