Bonsoir,
pour vous aider à comprendre pourquoi ça ne marche pas voici quelque questions auxquelles faut répondre :
Votre variable maCell correspond à quoi ?
Si vous savez à quoi elle correspond, dites le nous...
Moi ce que je vois c'est une valeur "texte".
Est ce qu'une variable "String" comporte des propriétés de variable "objet" ?
Moi je ne pense pas, donc derrière une variable String il ne peut y avoir de ".QuelQueChose"
Lorsque l'on veut faire de la purée, généralement on prend des pommes de terre...
Donc vous devez requalifier vos variables :
maCell, si c'est la représentation VBA d'une cellule de feuille Excel doit être un objet "Range" :
Dim maCell As Range
Ensuite pour attribuer un objet à une variable Objet il faut utiliser "Set" :
Set maCell = Range("A2") '(par exemple)
Dans votre cas ce n'est pas A2 la cellule mais "lblCell" & la valeur de Tableau(i) lors de la boucle :
Range("lblCell" & Tableau(i))
Ce qui peut donner :
Dim maCell As Range
Tableau = Split(Range("V4").Value, ";")
For i= 0 to Ubound(Tableau)
Set maCell = Range("lblCell" & Tableau(i))
maCell.Interrior.Color = RGB(255,0,0)
Next i
A condition qu'il existe bien une cellule nommée pour chaque "lblCell" testé lors de la boucle
Au pire mettre un On ErrorResume Next après le "DIM" afin de ne pas stopper l'exécution du code si une référence n'est pas trouvée.
Mais Attention ! Cela peut cacher d'autre erreurs, à utiliser avec parcimonie et en connaissance de cause.
@ bientôt
LouReeD