mythiac
Messages postés72Date d'inscriptionmardi 23 septembre 2008StatutMembreDernière intervention23 février 2009
-
20 oct. 2008 à 11:18
mythiac
Messages postés72Date d'inscriptionmardi 23 septembre 2008StatutMembreDernière intervention23 février 2009
-
20 oct. 2008 à 11:49
bonjour, je débute en vba sur excel
j'ai créé un userform pour que les utilisateurs puissent se renseigner sur des opérations qui seront triées en fonction de la date. pour cela, il apparait une combobox de selection du mois (liste sur ma feuil9), un textbox pour l'année.
ainsi, l'utilisateur ne peut sélectionner que ces deux choses. je veux rendre automatique la sélection du 1er jour du mois sélectionné au dernier jour du mois selectionné, en affichant ces deux dates dans les textbox 3 et 4 que j'ai crée. (pour les réutiliser par la suite...)
pour l'instant les sélection que j'ai crée fonctionnent, la où j'ai un problème, c'est pour la deuxième date, découlant de la premiere (afin de determiner si il y a 31, 30, 28 ou 29 jours...)
Je me sert de ma feuil9 pour les opérations intermédiaire pour info...
merci par avance, je vous mets mon code ci-dessous...
Dim l As Object 'transition pour mois
Dim m As Object 'année en fonction de la textbox1
Dim q As Object '1er jour
Dim s As Object 'dernier jour
'mois
Feuil9.Range("g1").Value = ComboBox1.Value
If Feuil9.Range("g1").Value = "JANVIER" Then
Feuil9.Range("g2").Value = 1
ElseIf Feuil9.Range("g1").Value = "FEVRIER" Then
Feuil9.Range("g2").Value = 2
ElseIf Feuil9.Range("g1").Value = "MARS" Then
Feuil9.Range("g2").Value = 3
ElseIf Feuil9.Range("g1").Value = "AVRIL" Then
Feuil9.Range("g2").Value = 4
ElseIf Feuil9.Range("g1").Value = "MAI" Then
Feuil9.Range("g2").Value = 5
ElseIf Feuil9.Range("g1").Value = "JUIN" Then
Feuil9.Range("g2").Value = 6
ElseIf Feuil9.Range("g1").Value = "JUILLET" Then
Feuil9.Range("g2").Value = 7
ElseIf Feuil9.Range("g1").Value = "AOUT" Then
Feuil9.Range("g2").Value = 8
ElseIf Feuil9.Range("g1").Value = "SEPTEMBRE" Then
Feuil9.Range("g2").Value = 9
ElseIf Feuil9.Range("g1").Value = "OCTOBRE" Then
Feuil9.Range("g2").Value = 10
ElseIf Feuil9.Range("g1").Value = "NOVEMBRE" Then
Feuil9.Range("g2").Value = 11
ElseIf Feuil9.Range("g1").Value = "DECEMBRE" Then
Feuil9.Range("g2").Value = 12
End If
Set l = Feuil9.Range("g2")
j = l.Value
'année
Set m = UserForm12.TextBox1
r = m.Value
'1er jour
Set q = Feuil9.Range("g3")
p = q.Value
'dernier jour
Feuil9.Range("f1").Value = DateSerial(r, j, p)
Set s = Month(Feuil9.Range("f1"))
k = s.Value
If j = "01" Then
k = 31
ElseIf j = "02" Then
If Day(DateSerial(Year(Now), 2, 28) + 1) = 29 Then
k = 29
Else
k = 28
End If
ElseIf j = "03" Then
k = 31
ElseIf j = "04" Then
k = 30
ElseIf j = "05" Then
k = 31
ElseIf j = "06" Then
k = 30
ElseIf j = "07" Then
k = 31
ElseIf j = "08" Then
k = 31
ElseIf j = "09" Then
k = 30
ElseIf j = "10" Then
k = 31
ElseIf j = "11" Then
k = 30
ElseIf j = "12" Then
k = 31
End If