cs_Smif
Messages postés2Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 2 juin 2004
-
2 juin 2004 à 17:57
ezekiel95
Messages postés42Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention20 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"
ezekiel95
Messages postés42Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention20 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