XL 2019 Format Date dans Label VBA

mymyetnono

XLDnaute Junior
Bonsoir,

J'ai un tableau qui en faisant un double clic sur une date affiche un formulaire avec un label "DateSelect" qui affiche la date au format "lundi 23 novembre" et un Label "DateSelect_Année" qui affiche la date au format "xx/xx/xxxx".

En cliquant sur le Label "DateSelect" il y a un calendrier qui s'affiche, quand on clic sur une date le format du Label "DateSelect" passe de "lundi 23 novembre" à "xx/xx/xxxx".

Je souhaiterai que le format reste sur le format "lundi 23 novembre" et que l'année correspondante au Label "DateSelect" soit afficher sur Label "DateSelect_Année"

Le Label "DateSelect_Année" portera un nom de feuille et le Label "DateSelect" auras une date correspondante à une ligne dans la feuille ou seront ranger le reste des champs.
 

ChTi160

XLDnaute Barbatruc
Bonjour mymyetnono
bonjour cp4
voilà ce que j'ai mis et semble réglé le problème d'erreur!
j'utilise la propriété Tag de Label
VB:
Private Sub Worksheet_beforedoubleclick(ByVal Target As Range, Cancel As Boolean)
   If Not Intersect(Target, Range("B8:AF42")) Is Nothing Then   '<<< ADAPTER REFERENCE ZONE DOUBLE CLIC
      Cancel = True
      irow = Target.Row   'ligne de la cellule double cliquée
      icol = Target.Column   'colonne double clic
      With Sheets("Année")
         ladate = DateSerial(.[A3], Application.RoundUp((irow - 7) / 3, 0), .Cells(6, icol))   'date reconstituée
         jour = Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")(Weekday(ladate, vbMonday) - 1) & " " & .Cells(6, icol)   'jour converti en français (format JJJJ JJ) à partir de la valeur numérique du jour
         mois = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre")(Int((irow - 7) / 3))   'mois converti en français à partir du mois numérique
      End With
      With Formulaire
         With .DateSelect
              .Caption = jour & " " & mois  'prend la jour et le mois au format jjjj jj mmmm
              .Tag = ladate 'Ici
              End With
         .DateSelect_Année = Year(ladate)   'Sheets("Année").[A3].Value
         .Show   'afficher userform
      End With
   End If
End Sub
puis
Code:
Private Sub DateSelect_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
   Dim MaDate As Date
   fmSTD_Calendrier.SelectDateCTRL DateSelect
   MaDate = DateSelect.Tag 'Ici
   DateSelect = Application.Proper(Format(MaDate, "dddd dd mmmm"))
   Me.DateSelect_Année.Caption = Right(Format(MaDate, "dddd dd mmmm yyyy"), 4)
End Sub
jean marie
 

ChTi160

XLDnaute Barbatruc
Re
de retour Lol
voir le fichier joint!
je ne comprend pas pourquoi tu mets un texte "dddd dd mmmm" dans le Label DateSelect (ce qui ne sera jamais une date) au lieu de la date Complete ensuite j'ai bien compris que l'année en Label SelectAnnee représente le Nom de la Feuille Source mais ca ne sert a rien au niveau du Calendrier puisqu'il affiche l'année et le Mois en cours ????
jean marie
 

Pièces jointes

  • Heure de Présences VBA Chti160.xlsm
    280 KB · Affichages: 18

mymyetnono

XLDnaute Junior
je ne comprend pas pourquoi tu mets un texte "dddd dd mmmm" dans le Label DateSelect (ce qui ne sera jamais une date) au lieu de la date Complete ensuite j'ai bien compris que l'année en Label SelectAnnee représente le Nom de la Feuille Source mais ca ne sert a rien au niveau du Calendrier puisqu'il affiche l'année et le Mois en cours ????

Bonjour et merci pour ton fichier, je mets un texte "dddd dd mmmm" dans le Label DateSelect afin d'éviter la répétition de l'année (et de le mettre plus gros que la date) dans le formulaire.
 

mymyetnono

XLDnaute Junior
Pourquoi ne pas mettre la date Complète
""dddd dd mmmm yyyy" et L'année dans le "Tag" du control ?

Je sais pas ce qui est le mieux, je débute et fait ce qui me semble être le plus simple mais vu ta proposition ma théorie n'est pas la meilleur.

Et pour le calendrier qui s'affiche au mois en cours?

Tu parles de quand on passe par le bouton "Formulaire" ?
 

ChTi160

XLDnaute Barbatruc
Re
Non ce que je veux dire c'est que lorsque tu Cliques sur une cellule du Planning (Année)
le Calendrier s'affiche avec le Mois en cours est ce Normal ?
ne doit il pas y avoir affichage du mois de la Date sélectionné dans le Calendrier!
il faudrait que tu nous expliques comment cela doit fonctionner !
jean marie
 

mymyetnono

XLDnaute Junior
Non ce que je veux dire c'est que lorsque tu Cliques sur une cellule du Planning (Année)
le Calendrier s'affiche avec le Mois en cours est ce Normal ?
ne doit il pas y avoir affichage du mois de la Date sélectionné dans le Calendrier!

Oui c'est vrai, d'ailleurs j'ai essayer de le paramétrer ainsi mais Excel a planter pour je ne sait quel raison.

Je vais réessayer en espérant que cela replante pas.
 

mymyetnono

XLDnaute Junior
Re,

J'ai envoyé un message à la personne qui à créer le calendrier pour qu'il regarde le problème.

Je vous tiens au courant dès que j'ai un retour à moins qu'il réponde directement ici.

Je remets mon tableau avec les dernières modification.
 

Pièces jointes

  • Heure de Présences VBA version 3.2.xlsm
    285.5 KB · Affichages: 5

cp4

XLDnaute Barbatruc
Bonjour,

J'ai ajouté une textbox pour la date. J'ai dû ouvrir une discussion pour te venir en aide.
Tu n'es pas clair dans ta demande d'où devrait-on récupérer les données pour renseigner les contrôles:
Nom_Entreprise (Label)
Nbrs_Km (Label)
Lieu_Travail (ListBox)

M_Heure_Arrivé (TextBox)
M_Heure_Départ (TextBox)
AP_Heure_Arrivé (TextBox)
AP_Heure_Départ (TextBox)

A+
 

Pièces jointes

  • Heure de Présences VBA V2.3.xlsm
    323 KB · Affichages: 5

mymyetnono

XLDnaute Junior
où devrait-on récupérer les données pour renseigner les contrôles:
Nom_Entreprise (Label)
Nbrs_Km (Label)
Lieu_Travail (ListBox)

M_Heure_Arrivé (TextBox)
M_Heure_Départ (TextBox)
AP_Heure_Arrivé (TextBox)
AP_Heure_Départ (TextBox)

Bonjour et merci,

Je ne l'ai pas encore préciser et j'ai ouvert une autre discussion à le sujet ici c'est le sujet est pour le format de date dans le Label.

Le informations sont a allez chercher comme suit :

Nom_Entreprise (Label) ---> Feuille "Emploi" selon date renseigner*
Nbrs_Km (Label) ---> Feuille "Km" selon emploi et lieu de travail
Lieu_Travail (ListBox) ---> Feuille "Km" (première ligne)

M_Heure_Arrivé (TextBox) ---> Feuille de l'année renseigner au jour de la date
M_Heure_Départ (TextBox) ---> Feuille de l'année renseigner au jour de la date
AP_Heure_Arrivé (TextBox) ---> Feuille de l'année renseigner au jour de la date
AP_Heure_Départ (TextBox) ---> Feuille de l'année renseigner au jour de la date

*Mettre un message pour inviter la création de l'emploi.
 

cp4

XLDnaute Barbatruc
Bonsoir,

je t'avoue que je me suis un peu pris la tête, car ce n'est pas vraiment clair d'où tu veux récupérer tes données.
Tu disais que Lieu_Travail (ListBox) ---> Feuille "Km" (première ligne) alors que ce n'est pas une listbox.
Si on n'arrive pas comprendre les tenants et les aboutissants de ton projet, il est très difficile de t'aider.

Bonne soirée.
 

Pièces jointes

  • Heure de Présences VBA V2.4.xlsm
    321.7 KB · Affichages: 9

mymyetnono

XLDnaute Junior
Bonjour et merci,

Je t'avoue que je me suis un peu pris la tête,
Oui je veux bien te croire,

pas vraiment clair d'où tu veux récupérer tes données.
Désolé de mal m'exprimer, je vais faire en sorte d'être plus précis.

Tu disais que Lieu_Travail (ListBox) ---> Feuille "Km" (première ligne) alors que ce n'est pas une listbox.

Bien vu et cela viens de me faire penser qu'il faut que je trouve une autre solution pour les lieux de travail, je doute que la feuille "Km" soit bien faite pour,
en effet avec l'entreprise 1 je peux travailler que sur un site, avec l'entreprise 2 je peux travailler sur plusieurs sites, il faudrait faire une recherche par rapport à l'employeur puis au lieux de travail possible pour ce dernier.

Je souhaiterais que la liste des lieux de travail soit uniquement celle disponible avec l'employeur sélectionner. Le lieux de travail par défaut sera le "SITE".

J'aimerais aussi comprendre pourquoi avoir mis le TextBox10 plutôt que d'utilisé simplement les LabelDate et LabelDate_Année ?

Je vais regarder plus en détails les codes afin d'essayer de les comprendre, de les insérer à mon tableau original et de regarder en détail ce qui va et ce qui pose soucis.

Bonne journée
 

cp4

XLDnaute Barbatruc
Bonjour et merci,


Oui je veux bien te croire,


Désolé de mal m'exprimer, je vais faire en sorte d'être plus précis.



Bien vu et cela viens de me faire penser qu'il faut que je trouve une autre solution pour les lieux de travail, je doute que la feuille "Km" soit bien faite pour,
en effet avec l'entreprise 1 je peux travailler que sur un site, avec l'entreprise 2 je peux travailler sur plusieurs sites, il faudrait faire une recherche par rapport à l'employeur puis au lieux de travail possible pour ce dernier.

Je souhaiterais que la liste des lieux de travail soit uniquement celle disponible avec l'employeur sélectionner. Le lieux de travail par défaut sera le "SITE".

J'aimerais aussi comprendre pourquoi avoir mis le TextBox10 plutôt que d'utilisé simplement les LabelDate et LabelDate_Année ?

Je vais regarder plus en détails les codes afin d'essayer de les comprendre, de les insérer à mon tableau original et de regarder en détail ce qui va et ce qui pose soucis.

Bonne journée
Bonjour,

Au vu de ton fichier, comme tu le dis il n'est pas bien pensé. Comme il l'est, difficile de comprendre les tenants et les aboutissants.
@mymyetnono : J'aimerais aussi comprendre pourquoi avoir mis le TextBox10 plutôt que d'utilisé simplement les LabelDate et LabelDate_Année ?

Parce que la recherche se fait sur une date, avec ton idée de découper la date dans des labels (qui sont du string). Alors quoi bon faire toute une gymnastique pour reconstituer la date à rechercher.

Désolé, mais je n'ai toujours pas compris. Pour moi Lieu ou Site, c'est la même chose.
Donc difficile de t'aider si tu n'es pas clair.

Bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
312 025
Messages
2 084 736
Membres
102 648
dernier inscrit
radhwane taibi