Selection de plusieurs dates dans un calendrier

Fermé
cno2 - 12 juil. 2017 à 15:02
 cnon2 - 17 juil. 2017 à 23:13
Bonjour,

J'aimerais pouvoir sélectionner plusieurs dates (avec des clics de souris successifs) dans un calendrier (monthview) autonome.
Je ne vois pas comment y arriver, le calendrier se fermant après le premier clic de souris sur une date du calendrier.
Je vous remercie vivement pour le temps que vous prendrez pour me répondre.

Meilleures salutations,
A voir également:

9 réponses

Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
13 juil. 2017 à 18:08
Bonjour,
quel VB?
  • VBS
  • VBA -> précisez:
    • Word
    • Excel
    • Access
    • Powerpoint
    • Autre
  • VB6 (ou antérieur, précisez)
  • VB.Net - précisez la Framework et ->
    • Winform
    • WPF

0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
Modifié le 14 juil. 2017 à 10:11
https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/aa733656(v=vs.60)?redirectedfrom=MSDN

Je cite
Selecting A Range of Dates
You can use the MonthView control to display a contiguous range of dates, or to allow the user to select a date range. In order to extend the selection to more than one date, the MultiSelect property must be set to True. You can control the maximum number of days that may be selected by changing the value of the MaxSelCount property. By default, the maximum selection allowed is seven days.
The SelStart and SelEnd properties determine which days are selected. You can check the values of these properties to find out what range the user has selected. If only one date is selected, the two values will be the same. You can also set the values of these properties in code, which will cause a range of dates to become selected in the control. When setting the SelStart and SelEnd properties through code, you must observe the following rules:
The SelStart date must occur before the SelEnd date.

The selected range must contain the currently selected date. If necessary, you should set the Value property to one of the dates in the range before setting the SelStart and SelEnd values.

The number of dates included in the range cannot exceed the maximum range size as specified by MaxSelCount.
For example, to select the week before Halloween through code, you would use the following:
MonthView1.Value = "10/31/97"
MonthView1.MaxSelCount = 7
MonthView1.SelStart = "10/25/97"
MonthView1.SelEnd = "10/31/97"


Edit, c'est le contrôle de VB6, mais selon mes recherches c'est lui que l'on peut importer dans VBA.

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0
Bonjour,

Merci infiniment pour votre réponse. Désolé pour mon post sur un autre fil. Je n'avais pas fait attention aux différents boutons sur la page reçu par mail.
Je pense vous avoir induit en erreur. En effet, je n'ai aucune propriété que je puisse modifier comme vous le suggérez. Mon contrôle est un textbox avec un Dtpicker (Microsoft Windows Common Controls 2.6.0 avec un Mscomct2.ocs) et la seule modification possible est la maxdate et mindate. Dois-je importer ou récupérer un autre contrôle ?

Cdt,
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
15 juil. 2017 à 10:12
Au départ tu parlais de monthVieview qui permet la sélection de plusieurs dates successives, ce qui n'est peut être pas ton besoin exact.

Maintenant, tu parles de dtpicker, qui, à priori, ne permet la sélection que d'une seule date.

Donc si ton besoin est de choisir des dates successives, alors oui tu peux changer pour le monthview. Mais si ton besoin est de sélectionner des dates non éparpillées, alors il va te falloir trouver une autre option, un ListBox en mode MultiSelectExtend par exemple
https://forums.commentcamarche.net/forum/affich-2254265-vba-excel-donnees-multiples-listbox
0
Bonjour,

Merci pour votre réponse. J'ai effectivement besoin de sélectionner plusieurs dates successivement. Je parlais de monthview car je pensais que montview et Dtpicker était la même chose.Si je vous suis bien, je dois donc utiliser montview à la place de Dtpicker. Quel est le contrôle qu'il faut que j'installe alors dans Office 2016 ?

Cdt,
0

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

Posez votre question
Oups,

Désolé, j'ai posté plus vite que je n'aurais dû. J'ai bien le contrôle montview dans ma boite à outils. Merci encore pour vos précisions.

Cdt,
0
Re bonjour,

Sans vouloir abusé ;P
Comment dois-je récupérer les différentes dates une fois celles-ci sélectionnées dans le calendrier ?
Je dois les copier dans une colonne d'un tableau xl.

Merci encore,
Cdt
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
17 juil. 2017 à 17:07
Bonsoir,

dans ma citation plus haut, il y'a la date de début et la date de fin de la sélection, (je le rappelle, la sélection est continue).
Donc tu peux par exemple faire une boucle dans laquelle tu fais évoluer une date de "début" à "fin"
0
Merci pour ton retour.
Donc j'ai bien peur que mon pb de départ (sélection de dates multiples mais non contigües) ne soit pas solvable. En fait, l'utilisateur a besoin de choisir une date dans chaque semaine du mois. Si c'est le même jour, effectivement une boucle me permet d’incrémenter les différentes dates.
Mais je pensais vraiment qu'il était possible de récupérer le clic de souris sur la date choisie par l'utilisateur dans le calendrier.
Encore merci pour ton aide.
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 931
Modifié le 17 juil. 2017 à 18:56
Dans ce cas, une ListBox en mode MultiSelectExtend est plus adaptée.
Tu affiches toutes les dates du mois, l'opérateur les sélectionnes avec Shift ou Ctrl, et tu récupères le tableau de dates sélectionnées.

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
0
Merci pour tous vos conseils.
Je vais essayer de préparer quelque chose comme ça.

Cdt
0