Microsoft 365 Exception de Textbox dans une boucle

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

fanfan38

XLDnaute Barbatruc
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
 

J-Laurie

XLDnaute Nouveau
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
 

Discussions similaires

Réponses
5
Affichages
173

Statistiques des forums

Discussions
312 169
Messages
2 085 928
Membres
103 045
dernier inscrit
AP78