Mise en forme conditionnelle dans TextBox

yoyo69

XLDnaute Nouveau
Bonjour, j'ai toujours un peu de mal à créer un code, je m'explique.

J'ai deux userform (UserFormNote et UserFromDevis).
Quand je remplis la textbox1 (des notes) dans ma userformNote et que je valide, les infos sont stockées dans feuille "Synthes" cellule H26. A l'initialize, je recupere les infos pour les redonner en textbox1 de la userformNote.
Je cherche que dès que "h26" à une valeur, la textboxVoy de UserFormDevis sont fond change de couleur (type mise en forme conditionnelle). Utiliser comme voyant. Et vis versa, si "H26" n'as plus de valeur (texte supprimé), la textboxVoy reprend sa couleur de fond intiale soit le blanc.

Code UserFormNote :
Private Sub CommandButton1_Click() 'Valider
Sheets("Synthes").Range("h26") = UserFormNote.TextBox1 & " " 'Transfert vers feuille Synthes!H26
If Sheets("Synthes").Range("h26").Value = "" Then Exit Sub
UserFormDEVIS.TextBoxVoy.BackColor = RGB(255, 0, 0)

End If
Unload UserFormNote
End Sub


Private Sub UserForm_Initialize()
With Sheets("Synthes")
TextBox1.Text = .Range("h26").Value 'Rappel des infos dans userform
End With
If Sheets("Synthes").Range("h26").Value = "" Then
UserFormDEVIS.TextBoxVoy.BackColor = RGB(255, 0, 0)

End If
End Sub


Cordialement et merci, Yoyo
 

Creepy

XLDnaute Accro
Re : Mise en forme conditionnelle dans TextBox

Hello le Forum, Yoyo69,

1 -
Code:
If Sheets("Synthes").Range("h26").Value = "" Then 
    UserFormDEVIS.TextBoxVoy.BackColor = RGB(255, 255, 255)
   Exit Sub
else
     UserFormDEVIS.TextBoxVoy.BackColor = RGB(255, 0, 0)
end if

2 -
Code:
If Sheets("Synthes").Range("h26").Value = "" Then
    UserFormDEVIS.TextBoxVoy.BackColor = vbyellow
else
     UserFormDEVIS.TextBoxVoy.BackColor =vbred
end if
J'ai fait expres d'utiliser deux methodes pour la couleur, le RGB et les couleurs systèmes.

@+

Creepy
 

yoyo69

XLDnaute Nouveau
Re : Mise en forme conditionnelle dans TextBox

Re creepy et merci, mais j'ai un petit problème.

Ma UserFormDevis est en permanence affiché donc pas de ré-initialize.

Si par exemple j'efface le texte dans la TextBox1 de l'UserformNote et que je valide, il envois dans "H26" un vide qui correspond quand meme a une valeur et non " ".
Donc faudrait que je me base sur la TextBox1 si " " > pas de changement de couleur dans TextBoxVoy à la validation de UserformNote
Et si texte ou valeur dans TextBox1 > changement dans TextBoxVoy à la validation de UserformNote.


@
Cordialement Yoyo
 

Creepy

XLDnaute Accro
Re : Mise en forme conditionnelle dans TextBox

RE,

Tu mets ca :
Code:
If UserFormDEVIS.TextBoxVoy.text = " " Then 
    UserFormDEVIS.TextBoxVoy.BackColor = RGB(255, 255, 255)
   Exit Sub
Else
     UserFormDEVIS.TextBoxVoy.BackColor = RGB(255, 0, 0)
end if
Et tu mets ce code dans le procédure TextBoxVoy_change

A+

Creepy
 

yoyo69

XLDnaute Nouveau
Re : Mise en forme conditionnelle dans TextBox

je l'ai modifié comme ce-ci et merci Creepy

Private Sub TextBoxVoy_Change()
If UserFormNote.TextBox1.Value <> "" Then
UserFormDEVIS.TextBoxVoy.BackColor = RGB(255, 255, 255)
Exit Sub
Else
UserFormDEVIS.TextBoxVoy.BackColor = RGB(255, 0, 0)
End If
End Sub


et

Private Sub CommandButton1_Click() 'Valider
Sheets("Synthes").Range("h26") = UserFormNote.TextBox1 & "" 'Transfert vers Synthes!H26
Unload UserFormNote
End Sub


Bonne journée @yoyo
 

Discussions similaires

Réponses
0
Affichages
153

Statistiques des forums

Discussions
312 239
Messages
2 086 508
Membres
103 237
dernier inscrit
smbt-excel