Date picker alimenter 5 colonnes

Résolu
jeffsublime0710401230 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis un peu a cour d'idée, j'ai insérer date picker dans un user form, j'aimerais que lorsque je choisi la date elle s'inscrive comme ceci.

Dans la colonne A, l'année ex: 2016
Dans la colonne B, le mois ex: Février
Dans la colonne C, le jour ex: 28
Dans la colonne D, le jour ex: Dimanche
Dans la colonne E, la semaine a laquelle cette date correspond ex; 9 parce que cette date correspond a la 9 ieme semaine sur 52

Mon problème est de déterminer la valeur de chacun

j'ai pensé a quelque chose comme ceci mais non

Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
Dim d As Date
Dim d2 As Date
Dim m As interger, dd As Integer, y As Integer

d = DTPicker1.Value
m = DTPicker1.Month
dd = DTPicker1.Day
y = DTPicker1.Year


Merci de me venir en aide

6 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

dans le VBA de l'UF:

Private Sub DTPicker1_CloseUp()
    d = DTPicker1.Value
    m = DTPicker1.Month
    dd = DTPicker1.Day
    y = DTPicker1.Year
    Z = semaine(d)
End Sub

'fonction trouvee sur CCM: thev 23 juil. 2009 à 17:45
' modifie pour format de date yyyy-mm-dd
Function semaine(date_s)
    année = Year(date_s)
    date_premier_an = DateSerial(année, 1, 1)
    For j = 0 To 6
        date_j = date_premier_an + j
        jour = Format(date_j, "dddd", vbMonday)
        If jour = "jeudi" Then
            date_lun_semaine1 = date_j - 3
            If date_s >= date_lun_semaine1 Then
                Exit For
            Else
                date_premier_an = DateSerial(année - 1, 1, 1)
                j = -1
            End If
        End If
    Next
    semaine = 1 + (CDate(date_s) - CDate(date_lun_semaine1)) \ 7

End Function
0
jeffsublime0710401230 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Peux tu regarder le fichier car j'ai essayé sur le miens et cela ne fonctionne pas

Merci de ton temps



http://www.cjoint.com/c/FBCpM1XW3Pt
0
jeffsublime0710401230 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
ok j'ai trouvé mais pour la semaine elle indique toujours 52

as tu la solution de ton coté

merci
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeffsublime0710401230 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Génial merci

si tu as 2 minutes aussi condition

si les cellule dans la range P sont rempli range Q = 1 si elle ne sont pas remplie = 0

Merci beaucoup de ton aide c'est très apprécie

Bonne journée
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Oui, mais rien n'ecrit en colonne P ??

code a ajouter avant le End With dans Private Sub CommandButton1_Click()


            If .Range("P" & L) <> "" Then
                .Range("Q" & L) = 1
            Else
                .Range("Q" & L) = 0
            End If
0
jeffsublime0710401230 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Est ce que tu parle du fichier que tu a rempli

si c'est le cas c'est parce que je t'ai envoyé qu'un petit fichier car celui su lequel je travail est beaucoup trop lourd.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re
Ok, peu importe le fichier, le code est le même
0