bonjour
dans une Userform j'ai une vingtaine de Txtbox ou j'importe des valeurs numériques et si il y a une valeur numérique dans une de ces txtbox elles changent de couleur passant de sans couleur à couleur verte
j'applique le code suivant
pour alimenter ma cellule
----> qs1 = "" -----------> j'efface la valeur précédente
------>qs1.BackStyle = fmBackStyleTransparent ------> pour effacer la dernière couleur liée a la précédente valeur
---->Ts1 = Range("Ae3").Value ----------> je rentre la nouvelle valeur
*****> qs1 = ActiveCell.Offset(0, 30).Value --------> cette cellule doit changer de couleur si il y a un chiffre dedans (ce qui est le cas value =50)
******> If qs1.Value <> "" Then qs1.BackColor = RGB(0, 255, 0) ----> cette formule ne change pas la couleur alors que Value = 50
ben oui et le End With alors ???tu l'a bouffé !!!
et le ":"tu l'a bouffé aussi ?!! with UserForm1.qs1:.BackColor =array(vbgreen,vbwhite)(abs(.value="")):end with
Bonjour MOMichel,
Etrange façon de présenter du code. Vous avez les balises </> pour ça, cela rend la lecture ... moins indigeste.
Je pense que le souci vient de fmBackStyleTransparent .
Ce code ci dessous marche :
VB:
Sub Essai()
UserForm1.qs1.Value = ""
UserForm1.qs1.BackColor = RGB(255, 255, 255)
UserForm1.qs1.Value = 12
If UserForm1.qs1.Value <> "" Then UserForm1.qs1.BackColor = RGB(0, 255, 0)
UserForm1.Show
End Sub
Vous pouvez aussi remplacer fmBackStyleTransparent par fmBackStyleopaque. Ce qui donne le même résultat. Mais vous ne pouvez pas affecter une couleur lorsque la propriété BackColor est fmBackStyleTransparent .
NB : Toujours préciser à quel userform est destiné le code.
ben oui et le End With alors ???tu l'a bouffé !!!
et le ":"tu l'a bouffé aussi ?!! with UserForm1.qs1:.BackColor =array(vbgreen,vbwhite)(abs(.value="")):end with