Menu

Selection de plusieurs dates dans un calendrier

cno2 - 12 juil. 2017 à 15:02 - Dernière réponse :  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,
Afficher la suite 

11 réponses

Répondre au sujet
Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 13 juil. 2017 à 18:08
0
Utile
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

Commenter la réponse de Whismeril
Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - Modifié par Whismeril le 14/07/2017 à 10:11
0
Utile
https://msdn.microsoft.com/en-us/library/aa733656(v=vs.60).aspx

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
Commenter la réponse de Whismeril
0
Utile
1
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,
Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 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
http://www.commentcamarche.net/forum/affich-2254265-vba-excel-donnees-multiples-listbox
Commenter la réponse de cno2
0
Utile
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,
Commenter la réponse de cno2
0
Utile
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,
Commenter la réponse de cno2
0
Utile
1
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
Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 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"
Commenter la réponse de cno2
0
Utile
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.
Commenter la réponse de cno2
Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - Modifié par Whismeril le 17/07/2017 à 18:56
0
Utile
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
Commenter la réponse de Whismeril
0
Utile
Merci pour tous vos conseils.
Je vais essayer de préparer quelque chose comme ça.

Cdt
Commenter la réponse de cnon2