XL 2016 font.color renvoie une erreur objet

Raka

XLDnaute Occasionnel
Bonsoir,

Je dispose de ce code, qui va me créer un range en fonction de la dernière ligne remplie d'un tableau.

VB:
Dim i As Long, derlig As Long, tabl, rarity As Integer

derlig = Range("E" & Rows.Count).End(xlUp).Row + 1
tabl = Range("E2:F" & derlig)

Mais parce que j'ai besoin d'agir en fonction de la couleur du texte de cette dernière ligne, j'utilise plus tard cette ligne :

VB:
 If tabl(i, 1).Font.Color = RGB(191, 144, 0) Then

Sachant que i est défini par un For i = UBound(tabl, 1) To 1 Step -1

Cela dit, excel me renvoie une erreur d'exécution 424, objet requis, sur cette ligne.
Ma syntaxe est-elle mauvaise ? Je ne parviens pas à trouver la bonne façon de faire.
 
Solution
Bonsoir,

@Raka : En chargeant ta plage dans un tableau (Array), ce ne sont que les valeurs qui sont chargées pas la Font.
A mon avis, un array ne peut pas prendre la propriété d'un range. D'où ton écriture est fausse. Tu devrais boucler sur les ranges soit
VB:
 If Cells(i,5).Font.Color = RGB(191, 144, 0) Then

Bonne soirée.

edit: Pas vu:oops:, bonsoir Staple1600;), Chris;)

cp4

XLDnaute Barbatruc
Bonsoir,

@Raka : En chargeant ta plage dans un tableau (Array), ce ne sont que les valeurs qui sont chargées pas la Font.
A mon avis, un array ne peut pas prendre la propriété d'un range. D'où ton écriture est fausse. Tu devrais boucler sur les ranges soit
VB:
 If Cells(i,5).Font.Color = RGB(191, 144, 0) Then

Bonne soirée.

edit: Pas vu:oops:, bonsoir Staple1600;), Chris;)
 

Raka

XLDnaute Occasionnel
Effectivement, c'est ce sur quoi je venais d'arriver aussi (mais avec i+1 pour des raisons de ligne de titre) et je n'ai plus d'erreur, maintenant.

Cela dit, le résultat escompté n'est pas là, donc quelque chose cloche encore dans la suite du code. Je m'en vais étudier tout ça.

Merci encore ! :)
 

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 799
Membres
101 818
dernier inscrit
tiftouf5757