Bientôt disponible sur Salesforce AppExchange

Créer un sélecteur de créneaux horaires dans Salesforce

Salesforce vous donne un sélecteur de date et un champ heure. Il ne vous donne pas de grille de créneaux sélectionnables. Voici ce qu'exige un vrai sélecteur de créneaux horaires dans Salesforce, et comment en obtenir un sans le développer.

Publié le 27 juin 2026 · Mis à jour le 21 octobre 2026 · MultiDatePick

Un sélecteur de créneaux est une interface bien précise : un calendrier où l'on choisit un jour, et en dessous une grille qui découpe cette journée en créneaux réservables, les créneaux pris étant clairement indisponibles. Tout le monde la connaît, car tous les sites de réservation l'utilisent. Salesforce n'en fournit pas.

Démo de réservation de ressources dans Salesforce : choisir un conseiller, saisir le client, sélectionner une date et un créneau libre de 30 minutes, puis enregistrer la demande
Choisissez un conseiller, un jour et un créneau libre. Les créneaux pris ne sont jamais proposés.
Démo animée du composant MultiDatePick DateTime dans Salesforce : nommer un planning d'intégration de nouveaux employés, faire glisser du lundi au jeudi, puis de 09:00 à 12:00 dans la grille horaire commune, et enregistrer un créneau par jour
Faites glisser sur quatre jours, puis de 09:00 à 12:00, et enregistrez un enregistrement par jour.

Ce que Salesforce vous donne vraiment

Un champ Date/Heure standard s'affiche comme une saisie de date et une liste déroulante d'heures. C'est un contrôle de formulaire, et il ignore tout de ce qui est déjà réservé. Rien n'empêche un utilisateur de choisir un créneau déjà pris, puisque le champ ne sait pas que d'autres enregistrements existent. La vérification arrive plus tard, dans une règle de validation ou un flux, une fois que l'utilisateur a déjà fait son choix.

Tout est là. Un sélecteur de créneaux interroge les enregistrements existants avant que l'utilisateur ne choisisse, et ne propose que ce qui est libre.

Ce qu'un vrai sélecteur de créneaux doit faire

ExigenceChamps standardAvec MultiDatePick
Découper la journée en intervallesAucune notion d'intervalleN'importe quel intervalle (15, 30 ou 60 minutes sont courants)
Connaître la journée de travailN'importe quelle heure est valideHeure de début et de fin, ou heures ouvrables propres à chaque ressource
Montrer ce qui est prisRien n'est affichéLes réservations existantes dessinées sur la grille
Plusieurs personnes par créneauImpossible à exprimerCapacité, avec un badge en temps réel « réservé sur la capacité »
Des horaires différents selon les joursUn champ, une valeurAllow Different Times Per Date (Autoriser des heures différentes)
Bloquer un conflit à l'enregistrementSeulement avec une logique sur mesureConflict Behavior (Comportement en cas de conflit) : bloquer, ignorer ou autoriser

Pourquoi le développer soi-même demande plus de travail qu'il n'y paraît

L'affichage est la partie facile. Voici ce que personne ne chiffre :

Interroger les réservations

Efficacement, sans exploser les limites du gouverneur quand quelqu'un ouvre une vue sur deux mois.

Le calcul des chevauchements

Délicat dès que les réservations peuvent avoir des durées différentes.

Les fuseaux horaires

Le fuseau de l'utilisateur et celui de l'enregistrement ne sont pas toujours les mêmes.

Les accès concurrents

Deux personnes qui regardent le même créneau libre au même moment.

La sécurité au niveau du champ

Le composant doit respecter ce que l'utilisateur a le droit de voir.

Accessibilité

Une grille de divs cliquables n'est pas navigable au clavier par défaut.

L'accessibilité demande le plus de soin. Une grille de créneaux a besoin d'une vraie sémantique de grille ARIA, d'une navigation aux flèches et d'un état transmis autrement que par la couleur. C'est ce que la plupart des développements internes laissent de côté, et ce que demande une revue d'achat.

Regrouper les créneaux pour qu'on puisse vraiment les parcourir

Une journée de 9 h à 17 h en intervalles de 15 minutes, c'est 32 créneaux. En liste continue, c'est un mur. Les regrouper par période (matin, après-midi, soir) en fait trois blocs courts. C'est surtout utile quand c'est un client qui choisit, sur son téléphone.

Grille du sélecteur de créneaux horaires Salesforce avec créneaux disponibles et indisponibles, regroupés par période
Une grille de créneaux avec les créneaux pris signalés, regroupés pour que la liste reste lisible.

Quand vous n'avez pas besoin du calendrier

Parfois, la date est déjà connue. Sur la page d'un rendez-vous qui a déjà une date, un calendrier mensuel est superflu. Time Grid Only (Grille horaire uniquement) retire le calendrier et n'affiche que la grille des créneaux pour cette date, lue dans un champ de l'enregistrement hôte ou définie directement.

Les paramètres qui font le sélecteur

Chacun est un champ de l'assistant de configuration. Rien ici ne demande de code.

ParamètreRôleNom d'API
Intervalle horaire, en minutes (Time Slot Interval (Minutes))La durée de chaque créneau. N'importe quel nombre de minutes.timeInterval
Heure min / Heure max (Earliest Time / Latest Time)La plage couverte par la grille dans le composant Dates & Times.minTime, maxTime
Champ Début / Fin des heures ouvrables (Business Hours Start / End Field)Les horaires de travail propres à chaque ressource, dans le composant Booking.businessHoursStartField
Champ Capacité (Capacity Field)Le nombre de réservations qu'une ressource accepte par créneau.capacityField
Regrouper les créneaux horaires par période (Group Time Slots by Period)Des sections Matin, Après-midi et Soir.groupTimeSlotsByPeriod
Comportement en cas de conflit (Conflict Behavior)Bloquer, ignorer ou autoriser un conflit à l'enregistrement.conflictBehavior
Grille horaire uniquement (Time Grid Only)La grille de créneaux seule, pour une date déjà connue.timeGridOnly
Un sélecteur de créneaux que vous configurez. Le composant Dates & Times et le composant Resource Booking en intègrent tous deux un. Ils fonctionnent sur les pages d'enregistrement, les pages d'application, les sites Experience Cloud et dans les flux d'écran.

Questions fréquentes

Qu'est-ce qu'un sélecteur de créneaux horaires ?

Un calendrier où l'on choisit un jour, avec en dessous une grille qui découpe la journée en créneaux réservables. Les créneaux déjà pris apparaissent comme indisponibles : on ne peut choisir que des horaires libres.

Salesforce propose-t-il un sélecteur de créneaux horaires ?

Pas pour vos propres objets. Un champ Date/Heure standard se résume à une saisie de date et une liste déroulante d'heures, et il ne voit pas les autres enregistrements. MultiDatePick ajoute un sélecteur de créneaux qui lit les réservations existantes au chargement du calendrier et ne propose que ce qui est libre.

Les créneaux peuvent-ils avoir n'importe quelle durée ?

Oui. L'intervalle des créneaux est un nombre de minutes au choix. 15, 30 ou 60 minutes sont courants, et un créneau d'entretien de 45 minutes fonctionne de la même façon.

Faut-il de l'Apex ou un développeur pour ajouter un sélecteur de créneaux ?

Non. L'assistant de configuration écrit la configuration, et le composant se place sur une page d'enregistrement, une page d'application, un site Experience Cloud ou un flux d'écran (Screen Flow) en renseignant Config Name. Aucun code à écrire.

Votre sélecteur de créneaux horaires Salesforce, prêt à configurer

Choisissez un créneau libre dans la démo en direct, puis suivez la prise en main pour l'installer dans votre org.

  • $20/utilisateur/mois, toutes les fonctionnalités
  • Essai gratuit de 30 jours, sans carte
  • 100 % natif Salesforce
  • Sans Apex
  • Bientôt disponible sur Salesforce AppExchange