couleur dans textbox suivant condition

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nrdz83

XLDnaute Impliqué
Bonsoir à tous encore moi pour une petite question est-il possible que la couleur des textbox s'affiche par exemple en rouge suivant la condition suivante : si la date est inférieur à aujourd'hui ? (toutes les textbox de mon userform sont des dates)
Vous met mon code d'avance un grand merci

Private Sub Bn_Afficher_Click()
Dim Lig As Long, VPathFic As String
Lig = Me.ComboBox1.ListIndex + 4
With Sheets("RP & RPC 12")

Me.TB_1 = .Range("C" & Lig)
Me.TB_2 = .Range("E" & Lig)
Me.TB_3 = .Range("G" & Lig)
Me.TB_4 = .Range("I" & Lig)
Me.TB_5 = .Range("L" & Lig)
Me.TB_6 = .Range("N" & Lig)
Me.TB_7 = .Range("Q" & Lig)
Me.TB_8 = .Range("T" & Lig)
Me.TB_9 = .Range("V" & Lig)
Me.TB_10 = .Range("X" & Lig)
Me.TB_11 = .Range("Z" & Lig)
Me.TB_12 = .Range("AB" & Lig)
Me.TB_13 = .Range("AD" & Lig)
Me.TB_14 = .Range("AF" & Lig)
Me.TB_15 = .Range("AH" & Lig)
Me.TB_16 = .Range("AJ" & Lig)
Me.TB_17 = .Range("AL" & Lig)
Me.TB_18 = .Range("AN" & Lig)
Me.TB_19 = .Range("AP" & Lig)
Me.TB_20 = .Range("AR" & Lig)
Me.TB_21 = .Range("AS" & Lig)
Me.TB_22 = .Range("AU" & Lig)
Me.TB_23 = .Range("AW" & Lig)
Me.TB_24 = .Range("AY" & Lig)
Me.TB_25 = .Range("AZ" & Lig)
Me.TB_26 = .Range("J" & Lig)
Me.TB_27 = .Range("O" & Lig)
Me.TB_28 = .Range("R" & Lig)
Compteur = 0
For i = 1 To 28 'à 25 si tu ne prend pas en compte TB_26, TB_27 et TB_28
Dat = Me.Controls("TB_" & i)
If Dat <> "" Then Dat = CDate(Dat)
If Dat <= Date Then
Compteur = Compteur + 1
Me.TB_29 = Compteur
End If
Next
End With
End Sub



amitiés 😎
 
Re : couleur dans textbox suivant condition

Bonsoir,
Juste une ligne à rajouter
Code:
Private Sub Bn_Afficher_Click()
  Dim Lig As Long, VPathFic As String
  Lig = Me.ComboBox1.ListIndex + 4
  With Sheets("RP & RPC 12")

    Me.TB_1 = .Range("C" & Lig)
    Me.TB_2 = .Range("E" & Lig)
    Me.TB_3 = .Range("G" & Lig)
    Me.TB_4 = .Range("I" & Lig)
    Me.TB_5 = .Range("L" & Lig)
    Me.TB_6 = .Range("N" & Lig)
    Me.TB_7 = .Range("Q" & Lig)
    Me.TB_8 = .Range("T" & Lig)
    Me.TB_9 = .Range("V" & Lig)
    Me.TB_10 = .Range("X" & Lig)
    Me.TB_11 = .Range("Z" & Lig)
    Me.TB_12 = .Range("AB" & Lig)
    Me.TB_13 = .Range("AD" & Lig)
    Me.TB_14 = .Range("AF" & Lig)
    Me.TB_15 = .Range("AH" & Lig)
    Me.TB_16 = .Range("AJ" & Lig)
    Me.TB_17 = .Range("AL" & Lig)
    Me.TB_18 = .Range("AN" & Lig)
    Me.TB_19 = .Range("AP" & Lig)
    Me.TB_20 = .Range("AR" & Lig)
    Me.TB_21 = .Range("AS" & Lig)
    Me.TB_22 = .Range("AU" & Lig)
    Me.TB_23 = .Range("AW" & Lig)
    Me.TB_24 = .Range("AY" & Lig)
    Me.TB_25 = .Range("AZ" & Lig)
    Me.TB_26 = .Range("J" & Lig)
    Me.TB_27 = .Range("O" & Lig)
    Me.TB_28 = .Range("R" & Lig)
    Compteur = 0
      For i = 1 To 28 'à 25 si tu ne prends pas en compte TB_26, TB_27 et TB_28
        Dat = Me.Controls("TB_" & i)
            If Dat <> "" Then Dat = CDate(Dat)
                If Dat <= Date Then
                    Me.Controls("TB_" & i).BackColor = &HFF& 'ici
                    Compteur = Compteur + 1
                    Me.TB_29 = Compteur
                End If
        Next
End With
End Sub
A+
kjin
 
Re : couleur dans textbox suivant condition

bonsoir kjin effectivement qu'une ligne mais faut il encore la connaitre. Un grand merci de cette façon tu as bien complété le code que tu avais créé déja.
Mes amitiés bye et encore chapeau 😉
 
Re : couleur dans textbox suivant condition

re kjn une dernière petite question dans ma textbox tb_29 ça me calcule le nombre de jour < à aujourdhui ça fonctonne ok. Le petit bug c'est que si je refait une recherche en selectionnant un autre remorqueur la textbox tB_29 ne se met pas à jour mais garde l'ancien résultat de la recherche.
Quel code je dois rajouter pour décharger toutes les textbox avant une nouvelle recherche.
Merci d'avance
 
Re : couleur dans textbox suivant condition

Re,
Pour réinitialiser les textbox
Code:
Private Sub ComboBox1_Change()
  For i = 1 To 28  'on pourrait mettre 29 et vider TB_29 en plus mais sans savoir
  Me.Controls("TB_" & i) = ""
  Me.Controls("TB_" & i).BackColor = &H80000005
  Next
  TB_29 = ""   'comme je ne sais pas si tu boucle de 1 à 25 ou 1 à 28
End Sub
Et à y être, ton formulaire fait appel aux listes RP12, RP10 ...
Lorsque tu nommes ta liste, ici RP12 par exemple, au lieu de
fait référence à: =Feuil3!$H:$H
mets plutôt
fait référence à: =DECALER(Feuil3!$H$1;;;NBVAL(Feuil3!$H:$H))
ta plage de cellules s'adaptera automatiquement.
Même principe pour tes autres listes
A+
kjin
 
Dernière édition:
Re : couleur dans textbox suivant condition

Merci kjin pour tes conseils, oeux tu m'expliquer comment tu rentres ta formule >>fait référence à: =DECALER(Feuil3!$H$1;;;NBVAL(Feuil3!$H:$H))

Car je n'arrive pas à le rentrer du moins a le faire fonctionner je dois mal m'y prender. Pour l'instant j'ai selectionné ma colonne (A) insertion>nom> definir>j'ai nommer rp12 et OK. 9a fonctionne mais comme tu me conseils =decaler je voudrais réussir à la mettre cette formule , merci déja pour tes lumières
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour