begin process at 2010 03 21 02:39:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Direct X

 > DONNÉES DU CALENDRIER

DONNÉES DU CALENDRIER


 Information sur la source

 Description

Cette source remplit trois tableaux pour compter :
-le nb de jours par mois (nb de lundi, de mardi etc)
-le nombre de jours pairs (nb de lundi pairs, mardi pairs ...etc)
-le nombre de jours impairs (nb de lundi pairs, mardi pairs ...etc)

Source

  • ' 1 2 3 4 5 6 7 1 ............12
  • Dim TbFrequenceJour(1 To 7, 1 To 12) As Integer ' (l,m,m,j,v,s,d / janvier,..., decembre)
  • Dim TbFrequenceJourPAIR(1 To 7, 1 To 12) As Integer ' (l,m,m,j,v,s,d / janvier,..., decembre)
  • Dim TbFrequenceJourIMPAIR(1 To 7, 1 To 12) As Integer ' (l,m,m,j,v,s,d / janvier,..., decembre)
  • Private Sub Command2_Click()
  • Dim ChronoDebut As Date
  • Dim ChronoFin As Date
  • Dim DateDebut As Date
  • Dim MaDate As Date
  • Dim NbJours As Integer
  • Dim TempText As String
  • Dim Jour As String
  • Dim Mois As String
  • Dim Pair As Boolean
  • Dim Colonne As Integer
  • DateDebut = CDate("01/01/2005")
  • NbJours = 365
  • 'compter le nombre de lundi, mardi, mercr... dans chaque mois.
  • 'initilisation du tableau
  • For i = 1 To 7
  • For j = 1 To 12
  • TbFrequenceJour(i, j) = 0
  • TbFrequenceJourPAIR(i, j) = 0
  • TbFrequenceJourIMPAIR(i, j) = 0
  • Next j
  • Next i
  • MaDate = DateDebut
  • While MaDate < CDate("31/12/2005")
  • TempText = Format(MaDate, "dddd d mmmm yyyy", vbUseSystemDayOfWeek, vbUseSystem)
  • 'recupère le jour de la semaine par les deux premieres lettres
  • Jour = Left(TempText, 2)
  • 'recupère le jour pair ou impair
  • If Int(Left(MaDate, 2) / 2 * 10) = 5 Then Pair = False Else Pair = True
  • 'recupère le mois
  • Mois = CInt(Mid(MaDate, InStr(MaDate, "/") + 1, 2))
  • 'remplit le tableau
  • 'compte les frequence en jours
  • TbFrequenceJour(FctNumJour(Jour), Mois) = TbFrequenceJour(FctNumJour(Jour), Mois) + 1
  • 'compte les frequences paires/impaires
  • Select Case Pair
  • Case True
  • TbFrequenceJourPAIR(FctNumJour(Jour), Mois) = TbFrequenceJourPAIR(FctNumJour(Jour), Mois) + 1
  • Case False
  • TbFrequenceJourIMPAIR(FctNumJour(Jour), Mois) = TbFrequenceJourIMPAIR(FctNumJour(Jour), Mois) + 1
  • End Select
  • MaDate = MaDate + 1
  • DoEvents
  • Wend
  • Debug.Print DateDebut + 31
  • End Sub
  • Private Function FctNumJour(DeuxLettresJour As String) As Integer
  • Select Case DeuxLettresJour
  • Case "lu"
  • FctNumJour = 1
  • Case "ma"
  • FctNumJour = 2
  • Case "me"
  • FctNumJour = 3
  • Case "je"
  • FctNumJour = 4
  • Case "ve"
  • FctNumJour = 5
  • Case "sa"
  • FctNumJour = 6
  • Case "di"
  • FctNumJour = 7
  • Case Else
  • FctNumJour = 0
  • End Select
  • End Function
'                                                  1 2 3 4 5 6 7   1 ............12
Dim TbFrequenceJour(1 To 7, 1 To 12) As Integer ' (l,m,m,j,v,s,d / janvier,..., decembre)
Dim TbFrequenceJourPAIR(1 To 7, 1 To 12) As Integer ' (l,m,m,j,v,s,d / janvier,..., decembre)
Dim TbFrequenceJourIMPAIR(1 To 7, 1 To 12) As Integer ' (l,m,m,j,v,s,d / janvier,..., decembre)
Private Sub Command2_Click()

    Dim ChronoDebut As Date
    Dim ChronoFin As Date
    Dim DateDebut As Date
    Dim MaDate As Date
    Dim NbJours As Integer
    Dim TempText As String
    Dim Jour As String
    Dim Mois As String
    Dim Pair As Boolean
    Dim Colonne As Integer

DateDebut = CDate("01/01/2005")
NbJours = 365
'compter le nombre de lundi, mardi, mercr... dans chaque mois.
'initilisation du tableau
For i = 1 To 7
    For j = 1 To 12
    TbFrequenceJour(i, j) = 0
    TbFrequenceJourPAIR(i, j) = 0
    TbFrequenceJourIMPAIR(i, j) = 0
    Next j
Next i

MaDate = DateDebut
While MaDate < CDate("31/12/2005")
    
    TempText = Format(MaDate, "dddd d mmmm yyyy", vbUseSystemDayOfWeek, vbUseSystem)
    'recupère le jour de la semaine par les deux premieres lettres
    Jour = Left(TempText, 2)
    'recupère le jour pair ou impair
    If Int(Left(MaDate, 2) / 2 * 10) = 5 Then Pair = False Else Pair = True
    'recupère le mois
    Mois = CInt(Mid(MaDate, InStr(MaDate, "/") + 1, 2))
    'remplit le tableau
    'compte les frequence en jours
    TbFrequenceJour(FctNumJour(Jour), Mois) = TbFrequenceJour(FctNumJour(Jour), Mois) + 1
    
    'compte les frequences paires/impaires
    Select Case Pair
    Case True
    TbFrequenceJourPAIR(FctNumJour(Jour), Mois) = TbFrequenceJourPAIR(FctNumJour(Jour), Mois) + 1
    Case False
    TbFrequenceJourIMPAIR(FctNumJour(Jour), Mois) = TbFrequenceJourIMPAIR(FctNumJour(Jour), Mois) + 1
    End Select
    
    MaDate = MaDate + 1
    DoEvents
Wend
Debug.Print DateDebut + 31
End Sub
Private Function FctNumJour(DeuxLettresJour As String) As Integer
Select Case DeuxLettresJour
    Case "lu"
        FctNumJour = 1
    Case "ma"
        FctNumJour = 2
    Case "me"
        FctNumJour = 3
    Case "je"
        FctNumJour = 4
    Case "ve"
        FctNumJour = 5
    Case "sa"
        FctNumJour = 6
    Case "di"
        FctNumJour = 7
    Case Else
        FctNumJour = 0
End Select
End Function

 Conclusion

merci à vbfrance et à toutes ces sources, bravo à tous.


 Sources du même auteur

CHOIX IMPRIMANTE SANS COMMONDIALOG
Source avec Zip YACHT, JOUEUR VIRTUEL, ALGO À AMÉLIORER BIENSUR.

 Sources de la même categorie

Source avec Zip Source avec une capture BREAKERBAWL par xranto
Source avec Zip JEU DE LA ROUE DE LA CHANCE par yvesdudu
Source avec Zip TUTO DIRECT3D 1 : INITIALISATION par ciberrique
Source avec Zip Source avec une capture ENVIRONEMENT 3D A LA PREMIÈRE PERSONNE. DIRECTX8 par djine
Source avec une capture Source .NET (Dotnet) APPLIQUER UNE RESOLUTION GRÂCE À DIRECTDRAW par tinux

Commentaires et avis

Commentaire de Mindiell le 24/03/2005 10:08:56

Si je puis me permettre, le dernier tableau est inutile puisque le nombre de lundi impairs est égal au nombre de lundi total moins le nombre de lundis pairs ^^

Commentaire de VBbigineure le 25/03/2005 07:29:15

Je pense qu'on aurait pu faire plus simple avec la fonction weekday.
Attention au nombre de jours de l'annee, pas tjr 365.

Commentaire de DJALEMBA le 25/03/2005 11:51:40

Je suis preneur, c'est quoi weekday ?

Commentaire de DJALEMBA le 25/03/2005 11:53:44

je sais, ce n'est pas sec tout ca. Ca merde aussi si le pc est en anglais ou autre langue...

Commentaire de VBbigineure le 25/03/2005 12:35:40

dans ton cas ca le fera sur n'importe quel PC, car 31/12/2005... ca peut pas etre pris pour le 12/31/2005 et dans ts les cas le 01/01 reste le 01/01,
Ca coince quand t'as un jour avant 12... je m'étais fait avoir avec un prog qui calculait la date de paques, qu'avait donné le 4 novembre au lieu du 11 avril... ca fait pas sérieux...
La fonction WeekDay te donne le jour de la semaine d'une date ( x = weekday(tadate))

Commentaire de Mindiell le 25/03/2005 12:41:10

non, ca ne le fait que sur des PCs qui ont des morceaux d'anglais dedans :)
Le pire que je connaisse c'est Access via un Odbc, entre le windows, le VB, l'odbc, le access et le moteur Jet, va trouver le(s)quel(s) t'inversent les dates chez toi différemment de chez le client ^^

Commentaire de ShadowMaster le 27/03/2005 20:29:14

eu qu'est ce que ça fait dans la categorie: DirectX?

Commentaire de c_est_moi04 le 04/04/2005 01:58:56

est ce qlqun peux m'aider
je travail avec des ocx et lorsque je change de poste ca marche pas
malgrai ke jai les installer au systeme32
donnée moi des reponse svp

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales