Microsoft 365 Exception de Textbox dans une boucle

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 !

J-Laurie

XLDnaute Nouveau
Bonjour,

Dans mon Private Sub ListBox1_Click() , j'ai mis un code pour appliquer une mise en forme couleur sur des textbox de date, afin d'éviter les répétition j'ai fait une boucle, jusque là tout va bien, tout fonctionne. Seulement il y a certain TextBox de date (Textbox13, Textbox15, Textbox18, Textbox21, Textbox27 et Textbox40, Textbox41 et Textbox42) qui ne sont pas concernés par la mise en forme. Je cherche donc à savoir comment ajouter cette exception à mon code

Merci d'avance pour votre aide


VB:
For I = 1 To Ncol - 1

If IsDate(Me("TextBox" & I).Value) Then
If Me("TextBox" & I).Value <> "" Then

If CDate(Me("TextBox" & I).Value) <= Date Then
Me("TextBox" & I).BackColor = vbRed

Else
If Date < CDate(Me("TextBox" & I).Value) And CDate(Me("TextBox" & I).Value) < DateAdd("m", 1, Date) Then
Me("TextBox" & I).BackColor = vbYellow

Else
If DateAdd("m", 1, Date) < CDate(Me("TextBox" & I).Value) And CDate(Me("TextBox" & I).Value) < DateAdd("yyyy", 20, Date) Then
Me("TextBox" & I).BackColor = vbGreen
End If
End If
End If
End If
End If
Next I
 
Solution
Bonjour

VB:
For I = 1 To Ncol - 1
select case i
case =13,15,18,21,27,40,41,42
case else
If Me("TextBox" & I).Value <> "" Then
If IsDate(Me("TextBox" & I).Value) Then

If CDate(Me("TextBox" & I).Value) <= Date Then
Me("TextBox" & I).BackColor = vbRed

Else
If Date < CDate(Me("TextBox" & I).Value) And CDate(Me("TextBox" & I).Value) < DateAdd("m", 1, Date) Then
Me("TextBox" & I).BackColor = vbYellow

Else
If DateAdd("m", 1, Date) < CDate(Me("TextBox" & I).Value) And CDate(Me("TextBox" & I).Value) < DateAdd("yyyy", 20, Date) Then
Me("TextBox" & I).BackColor = vbGreen
End If
End If
End If
End If
End If
end select
Next I

A+ François
Bonjour

VB:
For I = 1 To Ncol - 1
select case i
case =13,15,18,21,27,40,41,42
case else
If Me("TextBox" & I).Value <> "" Then
If IsDate(Me("TextBox" & I).Value) Then

If CDate(Me("TextBox" & I).Value) <= Date Then
Me("TextBox" & I).BackColor = vbRed

Else
If Date < CDate(Me("TextBox" & I).Value) And CDate(Me("TextBox" & I).Value) < DateAdd("m", 1, Date) Then
Me("TextBox" & I).BackColor = vbYellow

Else
If DateAdd("m", 1, Date) < CDate(Me("TextBox" & I).Value) And CDate(Me("TextBox" & I).Value) < DateAdd("yyyy", 20, Date) Then
Me("TextBox" & I).BackColor = vbGreen
End If
End If
End If
End If
End If
end select
Next I

A+ François
 
Bonjour

VB:
For I = 1 To Ncol - 1
select case i
case =13,15,18,21,27,40,41,42
case else
If Me("TextBox" & I).Value <> "" Then
If IsDate(Me("TextBox" & I).Value) Then

If CDate(Me("TextBox" & I).Value) <= Date Then
Me("TextBox" & I).BackColor = vbRed

Else
If Date < CDate(Me("TextBox" & I).Value) And CDate(Me("TextBox" & I).Value) < DateAdd("m", 1, Date) Then
Me("TextBox" & I).BackColor = vbYellow

Else
If DateAdd("m", 1, Date) < CDate(Me("TextBox" & I).Value) And CDate(Me("TextBox" & I).Value) < DateAdd("yyyy", 20, Date) Then
Me("TextBox" & I).BackColor = vbGreen
End If
End If
End If
End If
End If
end select
Next I

A+ François
Bonjour,

Un grand MERCI à toi François, tu as résolu mon problème... SUPER

Laurie
 
- 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

Discussions similaires

Réponses
5
Affichages
490
Retour