Date : sélecteur multi-dates et de plages pour Salesforce
Cliquez sur autant de dates que nécessaire, faites glisser pour une plage ou ajoutez une récurrence. Chaque date est enregistrée dans vos enregistrements Salesforce.
Ou essayez MultiDatePick en direct maintenant, sans connexion →Fonctionne dans les flux d'écran, les pages d'enregistrement, les pages d'application et d'accueil, et les sites Experience Cloud. Cinq vues, sans Apex.
Essayez MultiDatePick en direct dans votre navigateur
Le vrai composant sur un site Salesforce public, celui de la société fictive ACME Financial. Choisissez des dates et des créneaux libres, voyez les couleurs de statut et le back-office. Réinitialisé toutes les heures.
Autoriser la sélection de plusieurs dates dans Salesforce
Un champ date Salesforce standard contient une seule date. Le composant Date en contient autant que vos utilisateurs en choisissent.
| Votre besoin | Champ date standard | MultiDatePick Date |
|---|---|---|
| Plusieurs dates distinctes | ✗Un champ par date | ✓Cliquez sur autant de jours que voulu |
| Une date de début et de fin | ✗Saisir deux dates | ✓Glisser sur le calendrier |
| Un lundi sur deux | ✗Les saisir une par une | ✓Une seule récurrence |
| Un statut par date | ✗Impossible | ✓Coloré selon n'importe quelle liste de sélection |
| Modifier les dates plus tard | ✗Enregistrement par enregistrement | ✓Mode édition, directement sur le calendrier |
| L'utiliser dans un flux d'écran | ✗Une saisie de date par date | ✓Une collection Text ou un JSON de plages |
Cliquer, glisser ou répéter : trois façons de choisir des dates
Combinez les trois dans une même sélection. Défaire et Tout effacer sont toujours à un clic.
Bien plus qu'un sélecteur de dates
Plus de 60 propriétés, toutes réglées en quelques clics. Les plus marquantes :

Couleurs de statut
Associez une couleur à chaque valeur de liste de sélection. Les jours à deux statuts affichent les deux.

Vue sur deux mois
Deux mois côte à côte pour les longues plages et la planification trimestrielle.

Mode édition
Approuvez, déplacez ou supprimez en masse les dates enregistrées, directement sur le calendrier.
- Fenêtres au survol avec vos champs
- Dates bloquées depuis n'importe quel objet
- Date au plus tôt et au plus tard
- Nombre maximal de dates
- Dates présélectionnées
- Seules certaines dates sélectionnables
- Deuxième liste de sélection à l'enregistrement
- Enregistrements nommés automatiquement
- Semaine commençant le lundi
- Petit, moyen, grand
- 9 langues
- WCAG 2.1 AA
Cinq vues des mêmes enregistrements de dates
Mêmes données, même logique d'enregistrement. Définissez la vue par défaut avec View ; proposez les autres avec Available Views (Vues disponibles).
Quels jours ?
- Un mois à la fois, une couleur de statut sur chaque jour
- Cliquez ou faites glisser pour choisir
- Survolez un jour pour voir ses enregistrements
- La vue par défaut
Combien de temps dure chaque plage ?
- Les dates en haut
- Une plage de dates s'affiche en une seule barre continue
- Zoom Semaine ou Mois ; fenêtre définie par Timeline Window (Days)
Qu'y a-t-il cette semaine ?
- Sept jours côte à côte
- Les enregistrements de dates se placent dans une bande « journée entière »
- Ajoutez des heures avec le composant Date Time
Quels jours sont les plus chargés ?
- Une heatmap des enregistrements par jour
- Repérez les semaines chargées d'un coup d'œil
- Cliquez sur un jour pour ouvrir sa semaine
Qu'est-ce qui arrive ?
- Les 60 prochains jours, par ordre de date
- Les champs de votre choix avec Agenda Fields (Champs de l’Agenda)
- Idéal sur un téléphone ou dans un panneau récapitulatif
Un composant, cinq présentations. Les démos utilisent des données de rendez-vous d'exemple ; un calendrier Date affiche les mêmes vues à partir de ses propres enregistrements de dates.
Comment il enregistre : correspondance des objets et des champs
Choisissez une forme d'enregistrement. L'enregistrement ne fait qu'ajouter des enregistrements ; il ne supprime jamais ceux qui existent déjà.
| Votre objet enfant | Paramètre | Exemple |
|---|---|---|
| L'objet qui stocke les dates | Objet associé (Child Object API Name) | Trip_Date__c |
| Date (ou début de plage) | Champ Date (Date Field API Name) | Date__c |
| Référence vers le parent | Champ relation (Relationship Field API Name) | Trip__c |
| Fin de plage Facultatif | End Date Field API Name | End_Date__c |
| Liste de sélection de statut Facultatif | Status Field (Champ de statut) + Status Colors | Status__c, Approved:green,Pending:orange |
| Détails au survol Facultatif | Champs au survol (Hover Popover Fields) | Name,Status__c |
| Dates bloquées Facultatif | Blocked Dates Object (Objet des dates bloquées), Date Field, Filter Field | Holiday__c, Date__c |
Aucun nom d'API à saisir. Dans l'assistant de configuration, chaque objet et chaque champ se choisit dans une liste déroulante.
Cas d'usage du sélecteur multi-dates Salesforce
15 façons dont les équipes utilisent Date. La plupart ont une configuration toute prête dans la Config Library.
Demandes de congés et de vacances
Du lundi au vendredi s'enregistre en une seule plage. Pending, Approved, Denied d'un coup d'œil.
- Plage de dates
- Couleurs de statut
- Récurrence
Planning d'astreinte
Un lundi sur deux pendant un trimestre en deux clics. Primary, Backup, Swapped.
- Toutes les N semaines
- Du 1er au dernier
- Chargement de l'existant
Participation aux événements et inscriptions
Une réponse par date d'événement. Les réponses enregistrées s'affichent : pas de doublons.
- Un par date
- Chargement de l'existant
- Couleurs de statut
Jalons et échéances de projet
Jalons et dates de revue sur l'enregistrement du projet, chacun avec un libellé.
- Vue sur deux mois
- Nom de l'enregistrement
Dates de fermeture des sites
Marquez les jours fériés et les fermetures. Les autres calendriers les grisent automatiquement.
- Dates bloquées
- N'importe quel objet
Calendrier éditorial
Tous les mardis et jeudis en une seule récurrence. Replanifiez en déplaçant les dates.
- Récurrence
- Fenêtres au survol
- Mode édition
Interventions terrain sur plusieurs jours
Faites glisser du lundi au vendredi pour un seul enregistrement d'intervention. Les interventions existantes s'affichent pour éviter les chevauchements.
- Plage de dates
- Chargement de l'existant
- Couleurs de statut
Formations et inscriptions aux cours
Choisissez les jours d'un cours sur plusieurs semaines. Les jours sans cours sont grisés.
- Dates bloquées
- Récurrence
Suivi des abonnements et des renouvellements
Créez en masse les dates de renouvellement, nommées automatiquement comme « Renouvellement T3 ».
- Vue sur deux mois
- Nom d'enregistrement par défaut
Calendriers d'audit et de conformité
Le 1er lundi de chaque mois, sur tout l'exercice, suivi par statut.
- Occurrence mensuelle
- Couleurs de statut
Inspection et maintenance du matériel
Les dates d'inspection sur chaque enregistrement d'équipement, en évitant les fermetures du site.
- Page d'enregistrement
- Fenêtres au survol
- Dates bloquées
Disponibilités pour les visites immobilières
Les dates de portes ouvertes sur l'annonce. Un calendrier public en lecture seule sur votre site.
- Experience Cloud
- Lecture seule
Planification des visites de secteur commercial
Quels jours chaque commercial est dans quel secteur, les visites de plusieurs jours en un seul enregistrement.
- Plage de dates
- Récurrence
Dates de réservation de lieux d'événement
Événements sur plusieurs jours, jours de montage et de démontage en enregistrements uniques.
- Plage de dates
- Couleurs de statut
Échéances de tâches récurrentes
Tous les mercredis d'octobre, ou le dernier jour ouvré de chaque mois.
- Récurrence
- Un par date
Besoin aussi d'heures ou de ressources ? Date Time ajoute une grille horaire ; Booking ajoute les salles, les personnes et la capacité.
Le placer sur une page Lightning
Pages d'enregistrement, d'application, d'accueil et Experience Cloud. Les dates sont enregistrées comme enregistrements enfants, sans aucun flux.
| Page | Ce que vous définissez |
|---|---|
| Page d'enregistrement | Config Name. L'enregistrement de la page devient automatiquement le parent. |
| Pages d'application et d'accueil | Config Name et Static Parent Record Id. |
| Experience Cloud | Config Name et Static Parent Record Id. Activez Show In-Component Toast. |
| La page d'un enregistrement associé | Parent Record Id Field : la référence qui pointe vers le vrai parent. |
Choisir plusieurs dates dans un flux d'écran
Faites glisser Dates sur un écran et renseignez Config Name. Chaque case à cocher vient de votre configuration de l'assistant.
| Sortie | Ce que reçoit le flux |
|---|---|
| Selected Dates (Output) | Collection Text de dates ISO : ["2026-07-10","2026-07-14"] |
| Date Ranges JSON (Output) | Les dates contiguës regroupées en plages. Nécessite Output Date Ranges as JSON activé. |
| Parse Date Entries from JSON | Action de flux incluse : transforme le JSON en entrées fromDate / toDate à parcourir en boucle. |
Les paramètres propres au flux restent désactivés tant que vous ne les activez pas : Required, Show Inline (No Button) et Output Date Ranges as JSON. Tous les modèles dans le guide des flux d'écran.
Caractéristiques techniques
Le composant Date en un coup d'œil.
| Sécurité | Security Review Salesforce AppExchange réussie |
| Données | 100 % natif : vos données restent dans Salesforce. Aucun serveur externe, aucun appel sortant (callout). |
| Éditions Salesforce | Enterprise, Unlimited, Performance, Developer et Salesforce Platform, ainsi que les clouds sectoriels. Pas Essentials ni Professional. |
| Où il s'utilise | Flux d'écran, page d'enregistrement Lightning, page d'application, page d'accueil, site Experience Cloud |
| Sélection | Clic sur des dates isolées, glisser pour des plages, récurrences |
| Récurrences | Jours de semaine, week-ends, jours personnalisés ; toutes les N semaines ; 1re, 2e, 3e, 4e ou dernière occurrence |
| Enregistré comme | Un enregistrement par date, ou un par plage avec un champ de date de fin. Enregistrement additif. |
| Sorties du flux | Selected Dates (collection Text de dates ISO), Date Ranges JSON + Parse Date Entries from JSON |
| Limites | Nombre maximal de dates, date au plus tôt et au plus tard, autorisation des dates passées, dates bloquées depuis n'importe quel objet |
| Vues | 5 : Calendrier, Chronologie, Semaine, Occupation, Agenda. Plus une présentation sur deux mois. |
| Langues | 9 : anglais, espagnol, français, allemand, italien, japonais, hindi, portugais du Brésil, chinois simplifié |
| Propriétés | Plus de 60, toutes réglées en quelques clics. Référence complète |
| Configuration | Assistant de configuration, Lightning App Builder ou Flow Builder. Sans Apex. |
| Version d'API Salesforce | 63.0 |
Une seule offre, tous les composants
Date, Date Time et Booking sont tous inclus dans la même licence.
- Essai gratuit de 30 jours
- Sans carte bancaire
- Les trois composants
- Toutes les futures mises à jour
Questions sur le sélecteur multi-dates
Des réponses courtes. Plus de détails sur la page FAQ.
Un champ date Salesforce peut-il contenir plusieurs dates ?
Non. Un champ Date standard contient une date, et une paire de champs une seule plage. MultiDatePick enregistre chaque date choisie par l'utilisateur comme un enregistrement enfant associé au parent : un enregistrement peut donc avoir autant de dates que nécessaire, chacune avec son propre statut.
Comment sélectionner une plage de dates dans un LWC ?
Placez le composant MultiDatePick Date sur la page et faites glisser sur les jours voulus. Renseignez End Date Field API Name (Champ Date de fin) et les jours contigus sont enregistrés comme un seul enregistrement avec une date de début et de fin : du lundi au vendredi donne un enregistrement, pas cinq. Aucun LWC personnalisé à développer.
Peut-on choisir plusieurs dates dans un flux d'écran ?
Oui. Faites glisser le composant Date sur un écran de flux et renseignez Config Name. Selected Dates (Output) renvoie chaque date choisie dans une collection Text de dates ISO. Activez Output Date Ranges as JSON et l'action Parse Date Entries from JSON vous donne des dates de début et de fin à parcourir en boucle.
Les utilisateurs peuvent-ils choisir des dates récurrentes, comme un lundi sur deux ?
Oui. Le bouton Ajouter une récurrence sélectionne les jours de semaine, les week-ends ou des jours personnalisés, se répète toutes les N semaines et peut se limiter à la 1re, 2e, 3e, 4e ou dernière occurrence du mois, entre une date de début et une date de fin.
Peut-on afficher un calendrier public de dates sur un site Experience Cloud ?
Oui. Placez le composant Date sur une page Experience Cloud et renseignez Static Parent Record Id. Réglez Existing Dates Mode sur readonly pour afficher les dates enregistrées sans que les visiteurs puissent les modifier, et activez Show In-Component Toast pour les messages d'enregistrement.
Combien coûte le composant MultiDatePick Date ?
MultiDatePick coûte $20 par utilisateur et par mois, avec un essai gratuit de 30 jours sans carte bancaire. Les composants Date, Date Time et Booking sont tous inclus.
Référence des propriétés
Par le libellé affiché dans App Builder et Flow Builder. Quand Config Name est renseigné, l'assistant remplit tout cela.
Référence de toutes les propriétés
Configuration
| Nom de la configuration (Config Name) | configName | Une configuration enregistrée dans l'assistant. Charge tous les autres paramètres. |
Vues
| Vue (View) | view | Vue d'ouverture : calendar (par défaut), timeline, week, utilization, agenda. |
| Vues disponibles (Available Views) | availableViews | Vues proposées dans le sélecteur, par ex. calendar,timeline,agenda. Vide : les cinq. |
| Fenêtre de la chronologie, en jours (Timeline Window (Days)) | timelineWindowDays | Nombre de jours affichés à la fois par la chronologie. 14 par défaut ; 0 pour le mois complet. |
| Zoom de la chronologie (Timeline Zoom) | timelineZoom | Zoom de départ : day, week (par défaut) ou month. |
| Agenda Fields | agendaFields | Champs supplémentaires sur chaque ligne de l'agenda. Vide : reprend Hover Popover Fields. |
Affichage
| Button Label Flow | label | Texte du bouton qui ouvre le sélecteur. Par défaut « Sélectionner les dates ». |
| Calendar Title | modalTitle | Titre en haut du calendrier. Par défaut « Sélectionner les dates ». |
| Show Inline | showInline | Calendrier toujours visible, sans bouton. Activé par défaut sur les pages, désactivé dans un flux. |
| Two-Month View | twoMonthView | Deux mois côte à côte. |
| Taille du calendrier (Calendar Size) | calendarSize | tiny, xsmall (très petit), small, medium (par défaut) ou large. Tiny et très petit conviennent aux barres d'utilitaires, aux barres latérales et aux vignettes de tableau de bord. |
| Day Header Format | dayHeaderFormat | 3 = DIM LUN, 2 = DI LU, 1 = D L. |
| Week Starts on Monday | weekStartsOnMonday | Les semaines commencent le lundi au lieu du dimanche. |
| Afficher les récurrences (Show Recurring Pattern Button) | showRecurringPattern | Le bouton Ajouter une récurrence. Activé par défaut. |
| Show Selection Summary | showSelectedSummary | Nombre et plages des dates choisies. Activé par défaut. |
| Show Done Button in Inline Mode | showDoneButtonInline | Terminé replie le calendrier en une carte récapitulative. Par défaut activé dans un flux, désactivé sur les pages. |
| Required Flow | required | Au moins une date avant que le flux puisse avancer. |
Limites
| Max Dates Allowed | maxSelections | Nombre maximal de dates qu'un utilisateur peut choisir. 0 = illimité. |
| Allow Past Dates | allowPastDates | Désactivé = uniquement aujourd'hui et après. Activé par défaut. |
| Earliest Selectable Date Flow | minDate | Première date sélectionnable. |
| Latest Selectable Date Flow | maxDate | Dernière date sélectionnable. |
| Book Up To (Days Ahead) | maxDaysAhead | Fenêtre glissante : aujourd'hui plus ce nombre de jours, qui avance chaque jour. 0 = aucune limite. |
| Minimum Notice (Hours) | minNoticeHours | Aucune date qui commence dans ce nombre d'heures à partir de maintenant. 24 signifie au moins un jour de prévenance. |
| Pre-Selected Dates Flow | defaultDates | Dates déjà sélectionnées à l'ouverture (YYYY-MM-DD). |
| Blocked Dates Flow | disabledDates | Dates non sélectionnables, affichées en grisé. |
| Only These Dates Are Selectable Flow | availableDates | Toutes les autres dates sont désactivées. Audiences, sessions. |
| Auto-Jump to First Available Date Flow | autoJumpToFirstAvailable | S'ouvre sur le mois de la première date sélectionnable. |
Statut et couleurs
| Champ de statut (Status Field) | statusField | Champ liste de sélection ou texte qui colore chaque date. |
| Couleurs de statut (Status Colors) | statusColors | Par ex. Approved:green,Pending:orange,Denied:red. Noms ou codes hexadécimaux. |
| Status Color Display | statusColorDisplay | calendar : les cellules de date prennent la couleur du statut. |
| Status Field Label | statusFieldLabel | Libellé du sélecteur de statut. Vide : le nom du champ. |
| Selectable Statuses (Status Picker) | selectableStatuses | Valeurs que les utilisateurs peuvent définir, par ex. Requested sur un site public. Une seule valeur masque le sélecteur. |
| Ignored Statuses | hideBookingsWithStatus | Statut à exclure du calendrier, par ex. Cancelled. |
| Second Picklist Field | secondStatusField | Une deuxième liste de sélection choisie à l'enregistrement, par ex. Reason__c. Sans code couleur. |
| Second Picklist Label | secondStatusFieldLabel | Libellé de la deuxième liste de sélection. |
| Selectable Second-Picklist Values | selectableSecondStatuses | Valeurs autorisées. Une seule valeur est appliquée automatiquement et masquée. |
| Champs au survol (Hover Popover Fields) | hoverFields | Champs de la carte au survol, par ex. Name,Status__c. |
| Show In-Component Toast | showSuccessToast | Message d'enregistrement affiché dans le composant. À utiliser sur Experience Cloud. |
| Show Add to Calendar After Saving | showAddToCalendar | Après l'enregistrement, un fichier .ics avec un événement « journée entière » par date, pour Outlook, Google ou Apple. |
| Success Toast Message (optional) | successToastMessage | Message d'enregistrement personnalisé. |
Mode édition
| Activer le mode édition (Enable Edit Mode) | enableEditMode | Le bouton Modifier : changer le statut, déplacer ou supprimer les dates enregistrées. Activé par défaut. |
| Edit Button Label | editButtonLabel | Texte personnalisé du bouton Modifier. |
| Edit Record Display | editRecordDisplay | Détails par ligne, dans l'ordre : name, status, date. Par défaut name, status, time. |
Nom de l'enregistrement
| Record Name Field | recordNameField | Champ texte qui stocke un nom pour chaque enregistrement. |
| Default Record Name | defaultRecordName | Par ex. « Jour de congé » ou « Astreinte ». |
| Append Date to Record Name | appendDateTimeToName | « Jour de congé - 2026-07-10 ». Activé par défaut. |
Enregistrement des données
| Objet associé (Child Object API Name) | relatedObjectApiName | Objet où chaque date est enregistrée. |
| Champ Date (Date Field API Name) | dateFieldApiName | Champ date de cet objet. |
| End Date Field API Name | endDateField | Les dates contiguës sont enregistrées comme un seul enregistrement avec un début et une fin. |
| Champ relation (Relationship Field API Name) | relationshipFieldApiName | Référence de chaque enregistrement vers le parent. |
| Parent Record Id Flow | recordId | Parent auquel rattacher l'enregistrement, par ex. {!recordVar.Id}. Vide = sorties uniquement. |
| Static Parent Record Id Pages | staticRecordId | Parent pour les pages d'application, d'accueil et Experience. |
| Parent Record Id Field | parentRecordIdField | Quand la page appartient à un autre enregistrement : la référence vers le vrai parent. |
| Load Existing Dates | preloadExistingDates | Affiche les dates enregistrées au chargement. Activé par défaut. |
| Existing Dates Mode | preloadMode | editable (par défaut) ou readonly. |
| Libellé du bouton Enregistrer (Save Button Label) | saveButtonLabel | Texte du bouton Enregistrer. Par défaut « Enregistrer ». |
Objet des dates bloquées
| Blocked Dates Object | blockedDatesSourceObject | Objet dont les dates sont bloquées, par ex. les jours fériés. |
| Blocked Dates Date Field | blockedDatesDateField | Champ date de cet objet. |
| Blocked Dates Filter Field | blockedDatesFilterField | Référence vers cet enregistrement, ou champ de filtre. Vide : bloqué pour tout le monde. |
| Blocked Dates Filter Value | blockedDatesFilterValue | Valeur que le champ de filtre doit avoir, par ex. Holiday. |
Sorties du flux
| Output Date Ranges as JSON Flow | outputAsJson | Remplit Date Ranges JSON (Output). |
| Selected Dates (Output) | selectedDates | Chaque date choisie, au format ISO (YYYY-MM-DD). |
| Date Ranges JSON (Output) | selectedDateRangesJson | Les dates contiguës regroupées en fromDate / toDate. |
Donnez à vos utilisateurs toutes les dates dont ils ont besoin
Bientôt disponible sur Salesforce AppExchange. Soyez prévenu le jour du lancement.
Une question ou une demande de fonctionnalité ? Support@MultiDatePick.com