BonjourBbil
oui je l'ai vu après
chez moi je l'ai fait mais je n'ai pas corrigé dans le post
la ligne comptant le nombre de jour dans la partie mois il faut l'utiliser aussi dans la partie trimestre
ensuite pour la partie chaine / date je comprend pas très bien ta remarque
pour lemois la date est fait avec cbmois 1 et cboanné
pour les trimestre cbotrim jour1 cboanne :fin: switch nextjour cboanné
c'est pour le next jour que je devrait utiliser day(date..........)-1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 '4/ Choix année CritPériode1 = CDate("1/1/" & cboAnnée) CritPériode2 = CDate("31/12/" & cboAnnée) txtPeriode = "Période sélectionnée = " & cboAnnée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 LeTrim = cboTrimestre.ListIndex + 1 moisdeb = Switch(LeTrim = 1, 1, LeTrim = 2, 4, LeTrim = 3, 7, LeTrim = 4, 10) NB_JOURS = Day(DateSerial(cboAnnée, (moisdeb+2) + 1, 1) - 1) CritPériode1 = CDate("1/" & moisdeb & "/" & cboAnnée) CritPériode2 = CDate(NB_JOURS &"/" & moisdeb + 2 & "/" & cboAnnée)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ' on calcule automatiquement le nombre de jour du mois sélectionné(fevrier,30 ou 31) NB_JOURS = Day(DateSerial(cboAnnée, (cboMois.ListIndex - 1) + 1, 1) - 1) CritPériode1 = CDate("1/" & cboMois.ListIndex - 1 & "/" & cboAnnée) CritPériode2 = CDate(NB_JOURS & "/" & cboMois.ListIndex - 1 & "/" & cboAnnée) txtPeriode = "Période sélectionnée = " & cboMois & " - " & cboAnnée
EDIT:
re
je crois avoir compris ta remarque
tu veut dire utilisation de date serial directement dans la ligne critérial
'pour le mois
'exemple pour le trimestre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub test() cboAnnée = 2015 cbomois = 2 Criterial1 = DateSerial(cboAnnée, (cbomois), 1) criterial2 = DateSerial(cboAnnée, (cbomois) + 1, 1) - 1 MsgBox Criterial1 & vbCrLf & criterial2 End Sub
quand je disais que l'on pouvait encore simplifier hein!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub test2() cboAnnée = 2015: LeTrim = 2 moisdeb = Switch(LeTrim = 1, 1, LeTrim = 2, 4, LeTrim = 3, 7, LeTrim = 4, 10) Criterial1 = DateSerial(cboAnnée, (moisdeb), 1) criterial2 = DateSerial(cboAnnée, (moisdeb + 2) + 1, 1) - 1 MsgBox Criterial1 & vbCrLf & criterial2 End Sub
Merci bbill d'avoir appuyé sur mon bouton![]()
Partager