Calendrier autonome (sans module microsoft)

bravo Hakim euh non leakim

Bonjour Leakim,

La version originale affiche bien dans une cellule, mais je pense qu'il y a un petit souci sur le mini calendrier pour la textbox1 en dehors du mois courant pour 2019:

Il s'affiche correctement dans la textbox1: (ouvrable à la page data)

sans titre2

mais pas dans ma base de données (fin de la page cascade)

sans titre

et je pense pas que mon code inverse les mois pour 2019:

sans titre3

a+

fronck

Bonjour à tous,

Un essai ...

Modifié le format sous le bouton Valider du Calendrier.

Bouton Validé du userforme "conges", j'ai ajouté Cdate aux textbox qui écrivent dans les colonnes D et E.

ric

Bonjour,

Oui effectivement il est nécessaire de passer par CDate pour vider la textbox1 ou 2 dans la base de données.

Merci ric

Fronck, tu nous redis.

Leakim

Bonjour ric leakim,

je prends merci, mais le format dans l'UF est en anglais, c'est moyen.

sans titre

a+

fronck

Bonjour à tous,

Désolé, ma machine a la date courte au format anglais.

J'ai modifié pour les tests, il n'y a eu que le format à changer dans le bouton Valider du Calendrier.

Un essai ...

ric

super ric,

c'est impec.

Leakim, j'en profite pour une petite critique sur le calendrier dans ce cas de 2 textboxs.

il me faudrait un lien entre le choix de la 2éme texttbox avec la 1ere.

En général, quand tu choisis une date de départ en dehors du mois en cours, la date d'arrivée est aussi en dehors de ce mois, donc liée.

Exemple, tu prends 2 semaines en aout, tu changes de mois pour la date de départ en aout, mais quand tu sélectionnes la date de fin, il faut aussi que tu changes de mois, alors qu'on pourrait lier l'affichage du calendrier en date d'arrivée sur aout en fonction du choix fait de la textbox en date de départ.

merci

fronck

Bonjour à tous,

J'ai vu que tu demandes à leakim, mais j'ose répondre ...

Dans Calendrier ... j'ai ajouté une ligne après "Next"

Private Sub UserForm_Initialize()
Dim CaseJ As Object, i As Byte
    AfficheTitleBarre Me.Caption, False     'lignes à masquer pour afficher le cadre du calendrier
    Me.Height = Me.Height - 15              'lignes à masquer pour afficher le cadre du calendrier

    Set CasesJour = New Collection
    For i = 1 To 37
        Set CaseJ = New Class_Cal
        Set CaseJ.Jour = Me.Controls("J" & i)
        CasesJour.Add CaseJ
    Next

    If conges.TextBox1 <> "" Then Date_initiale = CDate(conges.TextBox1) ' < Lien demandé avec Textbox1 du userform "conges"
    Me.ddj.Caption = IIf(Date_initiale = "", Date, Date_initiale) 'ActiveCell ou Date_initiale
    Me.Cmbannule.Caption = " Fermer"
    Me.Cmbannule.ControlTipText = "Fermer"
    Call re_init
End Sub

ric

Ah génial,

c'est plus sympa comme çà.

merci pour tes réponses.

fronck

Bonjour à vous,

Ta requête est tout à fait justifiée, c'est d'ailleurs ce que j'ai adapté sur mes fichiers depuis longtemps.

Ce fil est une proposition qui nécessite effectivement d'être adapté à chacun.

La réponse de ric est tout à fait juste, merci à toi.

Cordialement,

Leakim

Bonjour Ric, Leakim, le forum,

J'ai un bug avec le calendrier quand je doubleclique sur la date de départ,

vous pourriez regarder, moi je comprends rien.

sans titre sans titre2

merci

fronck

Bonjour,

Le souci est dans le userform "Calendrier" > les deux lignes juste en dessous de "Next ..."

If absences.TextBox1 <> "" Then Date_initiale = CDate(absences.TextBox1) ' < Lien demandé avec Textbox1 du userform "absences" If absences2.TextBox1 <> "" Then Date_initiale = CDate(absences2.TextBox1) ' < Lien demandé avec Textbox1 du userform "absences"

Le bouton "Enregistrer une absence" fait référence au userform "absences" > la première des deux lignes est donc bonne.

La deuxième pose problème.

ric

Bonjour,

Ok mais j'utilise aussi absence2, une macro pour modifier en doubleclic sur une cellule d'une absence enregistrée.

Je dois donc initialiser aussi le userform calendrier.

fronck

Bonjour à tous,

Je regarde cela ...

ric

Bonjour à tous,

J'ai trouvé la source du souci ... reste à trouver comment le gérer.

En ouvrant le fichier, change de mois avec l'un des SpinButton, quitte à revenir sur le mois, si le mois affiché était déjà le mois désiré.

Là, pas de souci, ça fonctionne.

Il y a donc un variable qui est vide à l'ouverture du fichier et, qu'en changeant de mois, elle se trouve une valeur quelque part.

Je fais d'autres tâches en même temps, je peux moins m'y concentrer.

Mais, je chercher...

ric

Ric,

j'ai corrigé l'erreur en mettant le lien dans l'initialize de absences2:

sans titre

merci

fronck

Bonjour,

Le souci est dans le userform "Calendrier" > les deux lignes juste en dessous de "Next ..."

If absences.TextBox1 <> "" Then Date_initiale = CDate(absences.TextBox1) ' < Lien demandé avec Textbox1 du userform "absences" If absences2.TextBox1 <> "" Then Date_initiale = CDate(absences2.TextBox1) ' < Lien demandé avec Textbox1 du userform "absences"

Oui, c'est bien de là, ric Car il n'est pas nécessaire de mettre une condition, c'est le module calendar avec affiche() qui gère le changement d'userform grâce à la variable public USF as objet.

Pour moi, fais un essai en mettant en commentaire tes deux If et tu nous redis. Chez moi çà tourne

Leakim

hello,

Je me rapellais plus qu'il s'agissait du mois de la 1ere date répété dans la 2éme date.

Pour résumer un coup çà marche, un coup çà marche pas.

Donc pour le moment je garde la date initiale dans absences, le plus important des 2.

(absences enregistrement et absences2 modif).

a+

fronck

hello,

par contre, pour septembre, l'année ne s'affiche pas, quelque soit l'année.

sans titre

a+

fronck

Bonjour,

C'est sûr qu'à force de rajouter des boutons en haut à droite ton label du mois va te faire un renvoi de ligne.

Soit tu diminues la police du label,

soit tu augmentes ton label,

soit tu alignes à gauche le texte du label,

soit tu diminues tes boutons ...

Tu devrais pouvoir faire les essais qui te conviennent le mieux.

Bonne suite,

Leakim

Rechercher des sujets similaires à "calendrier autonome module microsoft"