Aide pour Userform Calendrier

jorisphi

XLDnaute Occasionnel
Bonjour à tous
J'aimerai que, lorsque j'ouvre mon calendrier, que le curseur se pointe sur le mois et la date du jour.
J'ai essayé d'ajouter le MS "MonthView Control 6.0" dans les listes de contrôles supplémentaires, Mais il n'existe pas....

Comment faire également :
1)-pour qu'il ne m'accepte qu'une seule date dans ma ListBox, et ce, lorsque je clique sur une deuxième ou plusieurss dates
(Avec MSGBOX : "Vous ne pouvez qu'encoder qu'une seule date")
2) Un Code pour effacer les dates encodées dans ma listeBox

Cijoint.fr - Service gratuit de dépôt de fichiers
Grand Merci pour votre aide
Jorisphi
 

jp14

XLDnaute Barbatruc
Re : Aide pour Userform Calendrier

Bonjour

Code à rajouter


Code:
Private Sub UserForm_Initialize()
................................
Calendar1.Value = Format(Now, "dd/mm/yyyy")

End Sub

Private Sub Calendar1_Click()
Validerdate.Visible = True
If ListBoxCalendrier.ListCount = 0 Then
ListBoxCalendrier.AddItem Format(Calendar1.Value, "dddd dd/mm/yyyy")
Else
 MsgBox " Vous ne pouvez qu'encoder qu'une seule date"
End If
End Sub


Private Sub CommandButton1_Click()
ListBoxCalendrier.RemoveItem 0
End Sub

Jp
 
Dernière édition:

jorisphi

XLDnaute Occasionnel
Re : Aide pour Userform Calendrier

Re Bonjour JP

Même pas eu le temps de vous remercier , que ma réponse à ma deuxième question arrivait
Tu "tires plus vite que ton ombre " ......
Avec ta solution, plus besoin de MSG (Bien Vu !....)

Grand merci pour ton aide précieuse

Pour le bouton "Annuler la saisie" as-tu aussi une idée ?
Car, ce serait plus convivial si on se trompe en encodant

Encore un tout grand merci
Très cordialement !......

Jorisphi
 

jorisphi

XLDnaute Occasionnel
Re : Aide pour Userform Calendrier

Cher JP

Je n'arrive pas à te suivre !..(HiHi...)
Je pose une question, et tu m'as déjà répondu

Grand merci pour ton aide précieuse
Car , en plus , Tes codes marchent à merveille !.....
Je peux ainsi continuer mon projet

Très très cordialement
Jorisphi
 

jorisphi

XLDnaute Occasionnel
Re : Aide pour Userform Calendrier

Cher JP

Puis-je solliciter encore une fois de plus votre aide et utiliser votre précieux temps ?...

J’ai un autre projet mais avec 5 dates
J’ai « chipoté » hier soir, et je n’y suis pas arrivé
(Voir mon exemple en annexe)

Grand merci pour votre aide
Cordialement
Jorisphi
Cijoint.fr - Service gratuit de dépôt de fichiers
 
Dernière édition:

jp14

XLDnaute Barbatruc
Re : Aide pour Userform Calendrier

Bonjour

Code à tester
Code:
Private Sub Calendar1_Click()
ListBoxCalendrier.AddItem Format(Calendar1.Value, "dddd dd/mm/yyyy")
With ListBoxCalendrier
    If .ListCount = 5 Then Validerdate.Visible = True
    If .ListCount > 5 Then Validerdate.Visible = False
End With
End Sub

Private Sub ListBoxCalendrier_Click()
With ListBoxCalendrier
    If .ListIndex = -1 Then Exit Sub
    ListBoxCalendrier.RemoveItem (Me.ListBoxCalendrier.ListIndex)
End With
End Sub

Private Sub Quitterdate_Click()
Unload UserForm1
End Sub

Private Sub UserForm_Initialize()
Validerdate.Visible = False
Calendar1.Value = Format(Now, "dd/mm/yyyy")
End Sub

Private Sub Validerdate_Click()
 
[b6] = ListBoxCalendrier.List(0)
[d6] = ListBoxCalendrier.List(1)
[f6] = ListBoxCalendrier.List(2)
[h6] = ListBoxCalendrier.List(2)
[j6] = ListBoxCalendrier.List(2)


Unload UserForm1
End Sub

JP
 

jorisphi

XLDnaute Occasionnel
Re : Aide pour Userform Calendrier

Cher JP

Tout d'abord, MERCI pour votre réponse rapide
et aussi pour votre aide dans mon projet

J'ai testé, et malheureusement
-il m'autorise plus que 5 dates
-il me donne la main pour valider après 5 dates, mais m'autorise encore à encoder
- le bouton "Annuler" ne déclenche pas d'annulation de Dates

Sinon, le reste fonctionne très bien

Aurais-je fait un fausse manoeuvre ?......

Je joins mon nouveau fichier avec les codes
Cijoint.fr - Service gratuit de dépôt de fichiers

Merci pour vos bons soins
Cordialement
Jorisphi
 
Dernière édition:

jp14

XLDnaute Barbatruc
Re : Aide pour Userform Calendrier

Bonjour

Ci dessous le code à rajouter

'
Code:
bouton supprimer une ligne
Private Sub CommandButton1_Click()
With ListBoxCalendrier
    If .ListIndex = -1 Then Exit Sub
    ListBoxCalendrier.RemoveItem (Me.ListBoxCalendrier.ListIndex)
    If .ListCount = 5 Then Validerdate.Visible = True
    If .ListCount > 5 Then Validerdate.Visible = False
End With
End Sub


Private Sub ListBoxCalendrier_Click()

End Sub

Si le nombre de date est supérieur à 5 le bouton "valider" disparait.

JP
 
Dernière édition:

jorisphi

XLDnaute Occasionnel
Re : Aide pour Userform Calendrier

Bonjour JP

Grand merci, Cela fonctionne à merveille. Vous êtes un AS !....

Voulez allez me dire que je suis un perfectionniste, mais c’est pour une question de convivialité de l’utilisateur

Sans vous faire perdre votre temps précieux,
Serait-il possible :
-Qu’il affiche un MSGBox « Vous avez encodé plus de 5 Dates, Veuillez en annuler »

-Possibilité de choisir une date ou plusieurs dates au choix en cliquant dessus

-Et qu’il me redonne la main (Bouton Valider) lorsque j’arrive à 5 Dates

Je sais, C’est beaucoup demandé, mais ce serait Super.

Encore merci pour votre aide précieuse
et pour vos codes qui marchent à merveille

Cordialement
Jorisphi








Cijoint.fr - Service gratuit de dépôt de fichiers
 
Dernière édition:

jp14

XLDnaute Barbatruc
Re : Aide pour Userform Calendrier

Bonjour

Code à tester

Code:
Private Sub CommandButton1_Click()
With ListBoxCalendrier
    If .ListIndex = -1 Then Exit Sub
    ListBoxCalendrier.RemoveItem (Me.ListBoxCalendrier.ListIndex)
End With
controle1
End Sub

Private Sub Quitterdate_Click()
Unload UserForm1
End Sub

Private Sub Validerdate_Click()
controle1
If Validerdate.Visible = False Then Exit Sub
[b6] = ListBoxCalendrier.List(0)
[d6] = ListBoxCalendrier.List(1)
[f6] = ListBoxCalendrier.List(2)
[h6] = ListBoxCalendrier.List(2)
[j6] = ListBoxCalendrier.List(2)
Unload UserForm1
End Sub

Private Sub Calendar1_Click()
ListBoxCalendrier.AddItem Format(Calendar1.Value, "dddd dd/mm/yyyy")
controle1
End Sub

Private Sub UserForm_Initialize()
Validerdate.Visible = False
Calendar1.Value = Format(Now, "dd/mm/yyyy")
End Sub

Private Sub controle1()
With ListBoxCalendrier
    If .ListCount = 5 Then Validerdate.Visible = True
    If .ListCount > 5 Then
        Validerdate.Visible = False
        MsgBox ("Vous avez encodé plus de 5 Dates, Veuillez en annuler")
    End If
    If .ListCount < 5 Then Validerdate.Visible = False
End With
End Sub

JP
 

jorisphi

XLDnaute Occasionnel
Re : Aide pour Userform Calendrier

Re-Bonjour JP

Encore merci pour patience avec moi et pour votre aide précieuse
Sans vous, je n’y serai jamais arrivé

J’ai testé et tout fonctionne :
- Il m’avertit bien avec le MSGBOX (Si plus de 5 Dates)
- me donne bien la possibilité de sélectionner une date (Il n’y a plus de débogage)
- Il m’élimine bien une date ou plusieurs dates

Mais il ne me supprime pas la date sélectionnée de trop (Mais la première encodée),
et aussi ne me redonne la main pour activer le bouton « VALIDER » (Quand le compteur revient à 5)

Aussi je ne comprends pas pourquoi maintenant il me donne les mêmes dates en F6-H6-J6
Alors qu’avant tout cela marchait très bien

Je vous fais souffrir......
Auriez-vous encore un peu de temps à m’accorder ?....

Très Cordialement
Jorisphi

Cijoint.fr - Service gratuit de dépôt de fichiers
 

jp14

XLDnaute Barbatruc
Re : Aide pour Userform Calendrier

Bonjour

Il y a un problème de vocabulaire "Annuler" indique que l'on revient en arrière.
Ci dessous le code pour annuler la dernière saisie
Code:
Private Sub Annulerdate_Click()
ListBoxCalendrier.RemoveItem ListBoxCalendrier.ListCount - 1
controle1
End Sub

Le code suivant supprime la date sélectionnée
Bouton à créer : "suppression d'une date"
Code:
Private Sub CommandButton1_Click()
With ListBoxCalendrier
    If .ListIndex = -1 Then Exit Sub
    ListBoxCalendrier.RemoveItem (Me.ListBoxCalendrier.ListIndex)
End With
controle1
End Sub

Pour ne pas avoir les mêmes dates il faut modifier le code suivant, remplacer 2 par 3, puis 4
Code:
[f6] = ListBoxCalendrier.List(2)
[h6] = ListBoxCalendrier.List([COLOR="Red"]2[/COLOR])
[j6] = ListBoxCalendrier.List([COLOR="Red"]2[/COLOR])

JP
 
Dernière édition:

jorisphi

XLDnaute Occasionnel
Re : Aide pour Userform Calendrier

Cher JP

Comme je vous l’avais dit dans mon post privé, je me suis absenté et je prends seulement note de votre réponse.

Je n’ai qu’un mot : « FOR-MI-DA-BLE !...... »
Cela fonctionne à merveille !......
Si je pouvais vous donner une cote de 11/10, je le ferai volontiers
Vous êtes un Pro et j’ai beaucoup appris grâce à vous

Encore un fois MERCI pour votre aide précieuse et votre ….patience
Très Cordialement
Jorisphi

PS : Excusez- moi pour mon erreur de vocabulaire (« Annuler ») Je vous ai fait surement perdre votre temps
 
Dernière édition: