Pb avec propriété ColorIndex sous Excel 97

cs_Smif Messages postés 2 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 2 juin 2004 - 2 juin 2004 à 17:57
ezekiel95 Messages postés 42 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 20 mai 2005 - 20 mai 2005 à 10:07
Bonjour,

Voici mon problème : je souhaite changer la couleur d'une cellule excel 97 en fonction de la valeur d'un élément d'une chaine de caractères. Si le caractère vaut "1", je colore la cellule correspondante en rouge, sinon en blanc.

Sous Excel 2000/win2000, ça marche, mais pas sous Excel 97/win95 (je développe sous Excel 2000/win2000 mais l'appli doit tourner sous Excel 97/win95 ).

Voici mon code (qui est dans un CommandButton_click)
For PasCycle = 1 To 16
For Ligne = 1 To 48
'Obtenir l'adresse de la cellule à colorer
CelluleActive = Feuil1.Cells(Ligne,PasCycle).AddressLocal
'suppression des $
CelluleActive = Mid$(CelluleActive, 2, 1) & Mid$(CelluleActive, 4)
With Feuil1.Range(CelluleActive)
If Mid$(ChaineBit, 48 * (PasCycle - 1) + Ligne,1)= "1" Then
'Si caractère="1", cellule en rouge
.Interior.Color = vbRed
Else
'Sinon, cellule en blanc
.Interior.Color = vbWhite
End If
End With
Next
Next

Sous excel 2000, ça marche !
Sous Excel 97, j'obtiens "Runtime error 1004 : unable to set the property color of interior class"

Quelqu'un peut-il m'aider ?

2 réponses

cs_Smif Messages postés 2 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 2 juin 2004
2 juin 2004 à 17:59
Petite précision : que j'utilise Color=vbRed ou ColorIndex=3, le problème est le même.
0
ezekiel95 Messages postés 42 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 20 mai 2005
20 mai 2005 à 10:07
Utilise plutot ceci:
with worksheets(tafeuille)
.cells(tes coordonnées).colorindex=3
end with.

J'ai deja eu ce problème et je m'en suis sorti.
Le truc etait extrement bete:
Le vbblack fonctionnait et pas le vbwhite. J'ai donc remplacer le vbwhite par 2,tout simplement.Peut etre que chez toi c'est pareil.

Voici le bout de code que j'utilise:

'police blanche sur fonds noir si paramètre en dehors des plages de tolérance
If (Cells(numligne, colonne).Value > Cells(16, colonne).Value _
Or Cells(numligne, colonne).Value < Cells(15, colonne).Value) _
And (Cells(numligne, colonne).Value <> "" _
And Cells(15, colonne).Value <> "NA" _
And Cells(16, colonne).Value <> "NA") _
Then

.Cells(numligne, colonne).Font.Color = vbWhite 'blanc
.Cells(numligne, colonne).Interior.ColorIndex = 1 'noir

End If

(oups, c le vbblack qui deconnait. )
0
Rejoignez-nous