Now()
Le
JP

Bonjour,
J'ai une textbox qui est complétée par la ligne suivante:
TextBox1.Value = Application.Index(Sheets("Dates PFMP").Range("D:D"), App=
lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
Je voudrai faire un test sur la textbox1 de façon à ce que si la date i=
nscrite dansla textbox1 est supérieure à celle du jour la textbox1.blac=
kcolor soit verte.
Voila ce que j'ai écris mais, elle est toujours verte.
Private Sub TextBox1_Change()
If TextBox1 > Now() Then
TextBox1.BackColor = &HFF00&
Else
End If
End Sub
Une idée, svp!
Merci
JP
J'ai une textbox qui est complétée par la ligne suivante:
TextBox1.Value = Application.Index(Sheets("Dates PFMP").Range("D:D"), App=
lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
Je voudrai faire un test sur la textbox1 de façon à ce que si la date i=
nscrite dansla textbox1 est supérieure à celle du jour la textbox1.blac=
kcolor soit verte.
Voila ce que j'ai écris mais, elle est toujours verte.
Private Sub TextBox1_Change()
If TextBox1 > Now() Then
TextBox1.BackColor = &HFF00&
Else
End If
End Sub
Une idée, svp!
Merci
JP
Une idée, svp!
If CDate(TextBox1) > Now() Then
----
--
Salutations
JJ
"JP"
Bonjour,
J'ai une textbox qui est complétée par la ligne suivante:
TextBox1.Value = Application.Index(Sheets("Dates PFMP").Range("D:D"), Application.Match(ComboBox1.Value,
Sheets("Dates PFMP").Range("A:A"), 0))
Je voudrai faire un test sur la textbox1 de façon à ce que si la date inscrite dansla textbox1 est supérieure
à celle du jour la textbox1.blackcolor soit verte.
Voila ce que j'ai écris mais, ... elle est toujours verte.
Private Sub TextBox1_Change()
If TextBox1 > Now() Then
TextBox1.BackColor = &HFF00&
Else
End If
End Sub
Une idée, svp!
Merci
JP
Essaie comme ceci. Je ne sais pas ce que tu veux faire exactement,
mais il me semble que cet événement est mieux adapté.
'----------------------------------
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox1) Then
If CDate(TextBox1) > Date Then
TextBox1.BackColor = &HFF00&
End If
Else
If Me.TextBox1 <> "" Then
MsgBox "Le contenu du textbox n'est pas une date."
Cancel = True
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End If
End Sub
'----------------------------------
MichD
---------------------------------------------------------------
"JP" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai une textbox qui est complétée par la ligne suivante:
TextBox1.Value = Application.Index(Sheets("Dates PFMP").Range("D:D"),
Application.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
Je voudrai faire un test sur la textbox1 de façon à ce que si la date
inscrite dansla textbox1 est supérieure à celle du jour la
textbox1.blackcolor soit verte.
Voila ce que j'ai écris mais, ... elle est toujours verte.
Private Sub TextBox1_Change()
If TextBox1 > Now() Then
TextBox1.BackColor = &HFF00&
Else
End If
End Sub
Une idée, svp!
Merci
JP
Désolé mais le résultat est le même.
Peut-être faut il tout le code?
Dis moi.
Merci
JP
Le vendredi 23 novembre 2012 18:47:31 UTC+1, Jacky a écrit :
C'est la même chose. J'aurai dû donner l'ensemble du code. Le voici ave c la modif que tu viens de me proposer.
Merci
Le voici:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox1) Then
If CDate(TextBox1) > Date Then
TextBox1.BackColor = &HFF00&
End If
Else
If Me.TextBox1 <> "" Then
MsgBox "Le contenu du textbox n'est pas une date."
Cancel = True
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End If
End Sub
Private Sub TextBox2_Change()
If CDate(TextBox2) > Now() Then
TextBox2.BackColor = &HFF00&
Else
End If
End Sub
Private Sub UserForm_Initialize()
'Date de consultation des données
dat = Now()
phr = Format(dat, "dddd dd mmmm yyyy")
UserForm2.Label3 = phr
'On Error Resume Next
'calculer le nombre de noms en colonne A feuille BD_EDT
nb_classes = Sheets("Dates PFMP").Range("A6:A35").End(xlDown).Row
'Affecter les professeurs à la liste déroulante
For i = 5 To nb_classes 'liste à partir de la ligne 5
ComboBox1.AddItem Sheets("Dates PFMP").Cells(i, 1)
Next i
ComboBox1.ListIndex = 0 ' sélectionne de la 1ere valeur
'On Error Resume Next
TextBox1.Value = Application.Index(Sheets("Dates PFMP").Range("D:D"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox2.Value = Application.Index(Sheets("Dates PFMP").Range("E:E"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox3.Value = Application.Index(Sheets("Dates PFMP").Range("F:F"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox4.Value = Application.Index(Sheets("Dates PFMP").Range("G:G"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox5.Value = Application.Index(Sheets("Dates PFMP").Range("H:H"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox6.Value = Application.Index(Sheets("Dates PFMP").Range("I:I"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox7.Value = Application.Index(Sheets("Dates PFMP").Range("J:J"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox8.Value = Application.Index(Sheets("Dates PFMP").Range("K:K"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox9.Value = Application.Index(Sheets("Dates PFMP").Range("C:C"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox10.Value = Application.Index(Sheets("Dates PFMP").Range("B:B"), Ap plication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox11.Value = Application.Index(Sheets("Dates PFMP").Range("L:L"), Ap plication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
End Sub
Private Sub ComboBox1_Change()
On Error Resume Next
TextBox1.Value = Application.Index(Sheets("Dates PFMP").Range("D:D"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox2.Value = Application.Index(Sheets("Dates PFMP").Range("E:E"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox3.Value = Application.Index(Sheets("Dates PFMP").Range("F:F"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox4.Value = Application.Index(Sheets("Dates PFMP").Range("G:G"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox5.Value = Application.Index(Sheets("Dates PFMP").Range("H:H"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox6.Value = Application.Index(Sheets("Dates PFMP").Range("I:I"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox7.Value = Application.Index(Sheets("Dates PFMP").Range("J:J"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox8.Value = Application.Index(Sheets("Dates PFMP").Range("K:K"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox9.Value = Application.Index(Sheets("Dates PFMP").Range("C:C"), App lication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox10.Value = Application.Index(Sheets("Dates PFMP").Range("B:B"), Ap plication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
TextBox11.Value = Application.Index(Sheets("Dates PFMP").Range("L:L"), Ap plication.Match(ComboBox1.Value, Sheets("Dates PFMP").Range("A:A"), 0))
End Sub
Le vendredi 23 novembre 2012 18:55:57 UTC+1, MichD a écrit :
Et cette chose est ..... prends le temps de la définir!
Est-ce que le code que je t'ai donné fonctionne? Si non, qu'est-ce qui ne
fonctionne pas?
Quel est le problème que nous devrions essayer de résoudre?
Au besoin, tu peux utiliser cette adresse pour publier ton classeur :
Cjoint.com
Tu nous retournes ici l'adresse que tu auras obtenue.
MichD
---------------------------------------------------------------
http://cjoint.com/?0KxtyHq0mY4
Le code que tu m'as fourni n'a pas fonctionné sauf si j'ai commis une er reur. Rien n'est impossible!
Merci encore
JP
Le vendredi 23 novembre 2012 19:16:44 UTC+1, MichD a écrit :
La procédure s'exécute après avoir modifié le contenu du textbox
MANUELLEMENT.
Si la date saisie est plus grande que la date d'aujourd'hui, le fond
du textbox1 passe au vert sinon il demeure blanc.
Le choix de l'événement dépend de la manière dont tu voudrais que
le contrôle réagisse. Et ça, je ne peux pas le deviner!
'----------------------------
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox1) Then
If CDate(TextBox1) > Date Then
TextBox1.BackColor = &HFF00&
Else
TextBox1.BackColor = vbWhite
End If
Else
If Me.TextBox1 <> "" Then
MsgBox "Le contenu du textbox n'est pas une date."
Cancel = True
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End If
End If
End Sub
'----------------------------
MichD
---------------------------------------------------------------
Ceci peut-être..
'----------
Private Sub TextBox2_Change()
If IsDate(Me.TextBox2) Then
TextBox2.BackColor = IIf(CDate(Me.TextBox2) > Date, &HFF00&, vbWhite)
End If
End Sub
'-------------
--
Salutations
JJ
"JP"
Bonsoir Jacky,
Désolé mais le résultat est le même.
Peut-être faut il tout le code?
Dis moi.
Merci
JP
Le vendredi 23 novembre 2012 18:47:31 UTC+1, Jacky a écrit :
Une autre façon du traitement de l'userform2 (Dates des PFMP de l'année)
Sans avoir a répéter les instructions
'--------------------------------------------
Private Sub CommandButton1_Click()
UserForm2.PrintForm
End Sub
'----------------------------------------------
Private Sub UserForm_Initialize()
'Date de consultation des données
dat = Now()
phr = Format(dat, "dddd dd mmmm yyyy")
UserForm2.Label3 = phr
'On Error Resume Next
'calculer le nombre de noms en colonne A feuille BD_EDT
nb_classes = Sheets("Dates PFMP").Range("A6:A35").End(xlDown).Row
'Affecter les professeurs à la liste déroulante
For i = 5 To nb_classes 'liste à partir de la ligne 5
ComboBox1.AddItem Sheets("Dates PFMP").Cells(i, 1)
Next i
ComboBox1.ListIndex = 0 ' sélectionne de la 1ere valeur
Call RempirLesBox 'appel de la procédure de remplissage*****
End Sub
'----------------------------------------------
Private Sub ComboBox1_Change()
Call RempirLesBox 'appel de la procédure de remplissage*****
End Sub
'----------------------------------------------
Sub RempirLesBox()
For i = 1 To 8
With Controls("TextBox" & i)
.Value = Application.Index(Sheets("Dates PFMP").Columns(i + 3), Application.Match(ComboBox1.Value,
Sheets("Dates PFMP").Range("A:A"), 0))
.BackColor = vbWhite
If IsDate(.Value) Then
If CDate(.Value) > Date Then .BackColor = &HFF00&
End If
End With
Next
TextBox9.Value = Application.Index(Sheets("Dates PFMP").Range("C:C"), Application.Match(ComboBox1.Value,
Sheets("Dates PFMP").Range("A:A"), 0))
TextBox10.Value = Application.Index(Sheets("Dates PFMP").Range("B:B"), Application.Match(ComboBox1.Value,
Sheets("Dates PFMP").Range("A:A"), 0))
TextBox11.Value = Application.Index(Sheets("Dates PFMP").Range("L:L"), Application.Match(ComboBox1.Value,
Sheets("Dates PFMP").Range("A:A"), 0))
End Sub
'-----------------------------
--
Salutations
JJ
Je n'ai traité que l'userform2
http://cjoint.com/?BKybLDu44WZ
A toi de voir si tu veux reporter aux autres.
;o)
--
Salutations
JJ
"Jacky"