Couleur de fond d'une cellule excel

lorre0041 Messages postés 8 Date d'inscription mercredi 1 avril 2009 Statut Membre Dernière intervention 28 juillet 2011 - 26 avril 2008 à 11:55
cs_isophie Messages postés 1 Date d'inscription vendredi 11 juin 2004 Statut Membre Dernière intervention 7 septembre 2009 - 7 sept. 2009 à 10:43
Bonjour,
Je suis débutant en vb et réalise des programme sur exel 97.
Je souhaite changer la couleur de fond d'une cellule depuis un bouton :

Private Sub cmd1_Click()
Range("A1").Interior.Color = RGB(255, 0, 0)
End Sub

Mais un meesage d'erreur apparait au click sur le bouton : "Impossible de définir la propriété color de la classe interior". Je ne comprend pas d'ou peut venir l'erreur puisque si je créer une macro avec le même programme , cela marche :

Sub couleur()
Range("A1").Interior.Color = RGB(255, 0, 0)
End Sub

Je vous rémercie d'avance pour d'éventuel réponse.

7 réponses

pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
26 avril 2008 à 12:02
bonjour
ton code étant dans l'évenement du bouton il cherche Range("A1") dans le bouton et donc ne le trouve naturellement pas dis lui où est ce range("A1")
Private Sub cmd1_Click()

    TAFEUILLE.Range("A1").Interior.Color = RGB(255, 0, 0)

End Sub

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
lorre0041 Messages postés 8 Date d'inscription mercredi 1 avril 2009 Statut Membre Dernière intervention 28 juillet 2011
26 avril 2008 à 14:46
Je te remercie pour ta réponse mais le même message d'erreur s'affiche
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
26 avril 2008 à 16:08
je dois t'avouer que je ne pige pas !
j'ai essayé chez moi et je n'ai jamais de message d'erreur et cela que le bouton soit dans la feuille ou dans un userform
il est vrai que ma version d'excel est un peu plus récente tout en n'étant pas la derniere mais estce la raison ? je ne saurais le dire

mais tu as dit que ça marche si tu fais :
Sub couleur()
Range("A1").Interior.Color = RGB(255, 0, 0)
End Sub

 alors  essaye de faire :
Sub couleur()

Range("A1").Interior.Color = RGB(255, 0, 0)

End Sub

Private Sub cmd1_Click()
    couleur'appel de la la sub couleur()
End Sub

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
lorre0041 Messages postés 8 Date d'inscription mercredi 1 avril 2009 Statut Membre Dernière intervention 28 juillet 2011
26 avril 2008 à 20:45
Merci beaucoup, j'ai essayé ta version mais cela ne marche toujours pas. Apparement ce n'est pas un probléme de code.  Par exemple si j'écrit :
Private Sub cmd1_Click()
    Range("A1").Font.Bold = True
End Sub
Le programme fonctionne, il doit avoir un probléme avec interior.
Excel est peut être mal installé, ou il y a un probléme de compatibilité avec Windows XP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 avril 2008 à 08:23
le tout étant que tu possède Excel97... pas simple de tester sur cette version qui a tout de meme plus de dix ans (oui, je sais VB6 est presque aussi vieux^^)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 avril 2008 à 08:34
je crois qu'on avait pas le choix de la couleur, alors... et qu'on était confiné dans la palette... (a moins de modifier cette palette)

selection.Interior.ColorIndex = 3 '# rouge
selection.Interior.ColorIndex = 4 '# vert
...
0
cs_isophie Messages postés 1 Date d'inscription vendredi 11 juin 2004 Statut Membre Dernière intervention 7 septembre 2009
7 sept. 2009 à 10:43
sub
' en excell
' col col+1 col+2 col+3
'-------------------------------------
'cell coloré | val:r | val:g | val b |
'-------------------------------------
'
'
lign = 1 'ligne de départ
col =1 'col de départ
r=cells(lign,col+1).value
g=cells(lign,col+2).value
b=cells(lign,col+3).value

cells(lign, col).interior.color=RGB(r,g,b)

end sub
' si on veut on peut faire des while, for pour remplir tout

'SOPH
0
Rejoignez-nous