Problème calendrier : retour sur date du jour

Bonsoir le forum,

J'ai trouvé sur le net un fichier : DataPicker indépendant.xls

Je l'ai récupéré, étant incapable de créer un calendrier toute seule et surtout de le gérer.

Par contre, mon problème est le suivant : je dois saisir une date début et une date fin.

pour la date début, pas de problème, mais pour la date fin mon calendrier revient toujours au mois et à l'année du jour.

Je souhaiterais que, si j'ai saisi en date début par exemple 03/03/2018, pour la date de fin le calendrier se positionne sur le mois et l'année choisis en date début, cad là en mars 2018

J'ai essayé de voir le code , mais je suis noyée ....

Je vous joins le fichier datapicker duquel je me suis inspirée fortement, puis le mien....

J'espère que l'un d'entre vous pourra m'aider...vous êtes tellement forts et tenaces, je vous fais confiance

Bonne soirée et merci d'avance...

Bonsoir,

tout ce joue dans cette partie de code du USF du calendrier, c'est la fonction qui est appelée par :

UnJour = FormCal.Calendrier

UnJour est égal au résultat de la fonction Calendrier du USF FormCal,

hors cette fonction accepte un paramètre optionnel (qui n'est pas utilisé) qui fait que le calendrier peut être ouvert avec une date autre que aujourd'hui (surligné ci dessous) :

Voici la partie à modifier :

Function Calendrier(Optional DateInitiale As Date) As Date
    StopEvent = True
    If DateInitiale <> 0 Then
        Jour = DateInitiale
    Else
        Jour = Now
    End If
    StopEvent = False
    FormCal.Show
    Calendrier = Jour
End Function

L'idée serait de créer une variable globale Date_Deb_Entrée As Boolean

qui serait à True si on a entré une date de début et à False si ce n'est pas le cas,

du coup on aurait ceci en appel de fonction :

Sub AfficheDateSaisie()
    Dim UnJour As Date
    If Date_Deb_Entrée = True Then
        UnJour = FormCal.Calendrier(CDate(TextBoxDebut.Value))
    Else
        UnJour = FormCal.Calendrier
    End If
    If UnJour = 0 Then
        MsgBox "Veuillez saisir une date"
    Else
        Dte = UnJour
    End If
End Sub

Au début du Module1 il faut créer la variable globale :

Public Date_Deb_Entrée As Boolean

Ensuite il faut passer cette variable à False lorsque le USF se ferme, ou quand on efface le contenu de la TextBoxDebut et à True si une date est entrée

Private Sub TextBoxDebut_Change()
    If TextBoxDebut.Value = "" Then ' correction faite suite remarque pertinente de @dhany
        Date_Deb_Entrée = False
    Else
        Date_Deb_Entrée = True
    End If
End Sub

et

ThenPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Date_Deb_Entrée = False
End Sub

A vous de tout remettre au bon endroit pour voir si cela fonctionne

@ bientôt

LouReeD

Bonsoir Loureed, bonsoir à tous,

Je regarde ça dès que possible et te tiens au courant.

Merci d'avance

Attention j'ai édité le message !

@ bientôt

LouReeD

Bonjour LouReeD,

Un peu avant la fin de ton long message d'hier à 23:28, tu as mis ce QR-Code code VBA :

Private Sub TextBoxDebut_Change()
    If TextBoxDebut.Value = "" 
        Date_Deb_Entrée = False
    Else
        Date_Deb_Entrée = True
    End If
End Sub

M'est avis qu'il manque un Then au bout de la ligne du If ... mais de toute façon, ceci est plus simple :

Private Sub TextBoxDebut_Change()
    Date_Deb_Entrée = TextBoxDebut.Value <> ""
End Sub

Qu'en penses-tu ? ai-je mérité de revoir la jolie grotte sombre de Cthulhu ?

(car je blaguais : elle m'faisait pas peur du tout, et tu pouvais la laisser ! )

Par contre, quand on regarde ton avatar QR-Code, ça fait un peu mal aux yeux !

Cordialement,

dhany

PS : ton bout de code VBA était p't'être bien un QR-Code, après tout : Quick and Row Code , comme il y avait eu

en son temps le QDOS : Quick and Dirty OS ; t'as fait comme Microsoft : t'as copié sur Tim Paterson, c'est ça ?

Bonjour dhany !

pas de soucis avec mes avatars, cela fait déjà "longtemps" que je les choisis en fonction de la saison (Noël approche d'ailleurs...) ou en fonction de mon humeur...

Sans vouloir copier quiconque, je trouve le QR-Code bien sympathique, mais celui avec mon pseudo était un peu trop "simple"... celui-ci avec le lien vers mes applications va peut-être me permettre de dépasser les 200000 téléchargements sur l'ensemble des applications que je propose...

Pour ce qui est de la grotte, en fait ce n'était qu'un "graph" d'éclair d'orage (et non pas de chocolat !), donc loin d'être une grotte de je ne sais qui... Bien qu'en temps d'orage il peut être utile de trouver une grotte pour s'abriter...

En effet dans mon code il manque un "Then"... on ne peut rien vous cacher ! Toujours à l'affut !

pour ce qui est de votre proposition de simplification, j'avoue ne pas maitriser cette écriture... faire une bascule d'état d'un Boolean avec un = et un not, je comprend un peu près mais le fait de mettre deux = (ou bien n'importe quel autre symbole) sur la même ligne...

là j'ai du mal, il doit me manquer des connections....

@ bientôt

LouReeD

Bonjour le forum, bonjour LouReed,

Ta solution est super ça marche bien.

Avec mes remerciements

et bonne journée

Amicalement

Bonsoir,

ravis que cela vous convienne !

Merci à vous pour vos remerciements.

@ bientôt

LouReeD

Rechercher des sujets similaires à "probleme calendrier retour date jour"