|
un formulaire électronique "réservation de matériel" avec Outlook
Les contrôles Texte 
Notre formulaire comporte un certain nombre de contrôles Texte dont les formats diffèrent :
- les contrôles date/heure : DateDebut, DateFin, HeureDebut et HeureFin.
- le champ texte calculé Duree.
Ces contrôles sont très simples d'emploi :
- cliquez sur l'icône
pour créer votre premier contrôle ;
- clic droit, Propriétés ;
- Nom : DateDebut
- Onglet Valeur, Champs définis par l'utilisateur dans la boîte de réception : DateDebut
Idéalement, nous souhaiterions que le champ Datedébut affiche par défaut la date du jour.
Pour obtenir un tel résultat, dans la zone Valeur par défaut de l'onglet Valeur, saisisez Date() dans le champ Définir la valeur initiale de ce champ.
Date() est la syntaxe visual basic qui permet de récupérer la date du jour.
Créez les 3 autres champs texte (DateFin, HeureDebut et HeureFin) sans saisir de valeur par défaut.
Le champ texte calculé
Notre formulaire contient un champ texte un peu particulier : celui qui calcule le nombre total de jours de réservation. C'est la partie la plus complexe de notre formulaire.
Sélectionnez ce champ et faites un clic droit Proriétés.
Dans l'onglet Valeur, reliez ce contrôle au champ Duree (vous devez savoir à présent opérer ce type de liaison).
On obtient le nombre de jours de réservation à l'aide d'une simple opération : Date de fin - Date de début de réservation + 1 jour (on considère que le matériel ne peut être emprunté que par jours entiers et non par demi-journée).
Outlook dispose de formules prêtes à l'emploi pour ce cas de figure, les fonctions DateDiff (pour soustraire deux dates) et DateAdd (pour ajouter des jours, des mois ou des années à une date) que les utilisatrices/utilisateurs d'Excel doivent bien connaître.
Tout d'abord, cochez la case Définir la valeur initiale de ce champ à puis cliquez sur le bouton Modifier.
La boîte de dialogue suivante vous permet de saisir des formules complexes, soit en les entrant directement, soit en vous aidant des boutons Champ et Fonction.
Puisqu'Outlook nous propose son aide et que nous ne connaissons pas la syntaxe exacte de la fonction DateDiff, nous allons cliquer sur le bouton Fonction.
Ce dernier nous permet d'accéder aux nombreuses fonctions, classées par thèmes (Conversion, Général, Texte...). Comme nous souhaitons soustraire deux dates, nous optons pour... Dates/heures !
La syntaxe DateDiff est la suivante : DateDiff(intervalle , date1 , date2 , premierjoursem, premièresem) où intervalle est un argument représentant le résultat que l'on souhaite :
- "d" (day) pour obtenir le résultat en jours ;
- "m" (month) pour obtenir le nombre de mois séparant nos deux dates ;
- "y" (year) pour obtenir le nombre d'années séparant deux dates.
Dans notre cas, nous opterons bien évidemment pour "d" (day), plus approprié... Après avoir inséré la fonction dans la zone de texte, remplacez intervalle par "d" (n'oubliez pas les guillemets).
Sélectionnez ensuite date1 et cliquez sur le bouton Champ, Champs définis par l'utilisateur dans la boîte de réception. Sélectionnez ensuite le champ DateDebut. Le nom du champ est inséré entre crochets. Si vous connaissez le nom des champs que vous souhaitez utiliser, vous pouvez les taper directement dans la zone de texte, en les encadrant toujours par avec []. En cas de doute, aidez-vous du bouton Champ.
Sélectionnez maintenant Date2 et remplacez-la par [DateFin].
Les arguments premierjoursem et premièresem sont optionnels et nous ne les utiliserons pas : vous pouvez les supprimer.
A la date trouvée, nous devons rajouter 1 jour. Nous imbriquerons donc notre première formule dans une fonction DateAdd(intervalle, nombre, date), en lieu et place de l'argument date.
Le résultat intermédiaire de notre formule est donc DateAdd(intervalle, nombre, DateDiff( "d", [dateDebut], [dateFin]).
Comme nous souhaitons rajouter des jours, nous remplaçons intervalle de nouveau par "d". Le nombre de jours que nous souhaitons ajouter est 1.
La formule finale est donc :
DateAdd("d", 1, DateDiff( "d" , [dateDebut], [dateFin]).
Cela peut sembler complexe mais c'est une question d'habitude. Rien ne vous oblige cependant à utiliser les champs calculés. L'objectif de ce pas-à-pas est de vous faire découvrir le maximum de points, à travers un exemple concret. D'où la présence de ce champ calculé.
Haut
|