Date picker alimenter 5 colonnes

Résolu/Fermé
jeffsublime0710401230 Messages postés 19 Date d'inscription samedi 27 février 2016 Statut Membre Dernière intervention 26 janvier 2017 - 28 févr. 2016 à 15:24
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 - 28 févr. 2016 à 20:01
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 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 711
28 févr. 2016 à 15:44
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 samedi 27 février 2016 Statut Membre Dernière intervention 26 janvier 2017
28 févr. 2016 à 16:40
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 samedi 27 février 2016 Statut Membre Dernière intervention 26 janvier 2017
28 févr. 2016 à 17:11
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 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 711
28 févr. 2016 à 18:50
0

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

Posez votre question
jeffsublime0710401230 Messages postés 19 Date d'inscription samedi 27 février 2016 Statut Membre Dernière intervention 26 janvier 2017
28 févr. 2016 à 18:59
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 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 711
Modifié par f894009 le 28/02/2016 à 19:12
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 samedi 27 février 2016 Statut Membre Dernière intervention 26 janvier 2017
28 févr. 2016 à 19:11
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 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 711
28 févr. 2016 à 20:01
Re
Ok, peu importe le fichier, le code est le même
0