<< Retour au sommaire

 

La fenêtre de saisie InputBox

 

 

 

Table des matières

  1. Introduction ;
  2. Un exemple ;
  3. La saisie d’une chaîne vide.

 

Introduction

 

La fonction « InputBox » permet de demander à l’utilisateur de saisir une donnée au clavier.

La demande est réalisée par l’intermédiaire de l’affichage d’une fenêtre contenant 3 objets, « Une zone d’édition » pour la saisie, le bouton « Ok » et le bouton « Annuler ».

L’utilisateur peut ainsi saisir l’information qui lui est demandée et valider le bouton « Ok ».

 

La syntaxe :

InputBox (« Message à afficher », »Titre de la fenêtre »,Variable)

 

La description :

Ce message est une chaîne de caractères qui doit être placé entre guillemets sauf s’il est représenté par une variable de type String.

Le titre est une chaîne de caractères qui doit être placée entre guillemets, sauf s’il s’agit d’une variable de type String.

 

Si vous appliquez la syntaxe telle que je viens de vous la présenter, vous ne pourrez pas traiter le cas de figure où l’utilisateur a validé le bouton « Annuler ».

Puisque « InputBox » est une fonction, elle retourne la valeur « Vraie » si l’utilisateur a validé le bouton « Ok », et la valeur « fausse » s’il a validé le bouton « Annuler ».

Il est donc possible d’intégrer la fonction « InputBox » comme condition dans l’embranchement conditionnel « If Then » :

La syntaxe :

If InputBox ("Message à afficher","Titre de la fenêtre",Variable) Then

  Traitement à réaliser si l’utilisateur a validé le bouton « Ok ».

Else

  Traitement facultatif à réaliser si l’utilisateur a validé le bouton « Annuler ».

EndIf

 


Un exemple

 

Dans WORD, nous allons créer un script qui recherche une chaîne de caractères.

La chaîne de caractères à rechercher sera saisie par l’utilisateur.

 

Script ChercheChaine ()

; déclaration de la variable qui contiendra la chaîne de caractères à rechercher

Var String MaChaine

; demande à l'utilisateur de saisir au clavier la chaîne à rechercher

if InputBox ("Veuillez saisir la chaîne de caractères à rechercher","Rechercher",MaChaine) then

  ; Lance la recherche

  FindString (GetCurrentWindow(),MaChaine,s_bottom,s_unrestricted)

  ; active le curseur PC sur la chaîne de caractères trouvée

  RoutePCToJAWS ()

else

  ; La saisie de la chaîne de caractères a été annulée

  SayString ("Annulation de la recherche")

EndIf

EndScript

 


La saisie d’une chaîne vide

 

Il y a un cas de figure qu’il est intéressant de voir, c’est lorsque l’utilisateur ne saisit rien et valide le bouton « Ok ».

Cette hypothèse est dangereuse car elle peut engendrer une erreur dans le traitement !

En effet, exécuter un traitement « vrai » lorsque la variable ne contient rien, ce n’est pas terrible !

Pour palier à ce problème, il est possible de vérifier dans la condition du « If » si l’utilisateur a bien saisi une donnée au clavier, et ce, en réunissant le InputBox et la vérification du contenu de la variable par le biais de l’opérateur logique, le « et », « && ».

 

Voici un exemple où le traitement du « If » sera exécuté si 2 conditions sont remplies :

  1. L’utilisateur a validé le bouton « Ok » ;
  2. Une donnée a bien été saisie au clavier.

 

Var String TonNom

If (InputBox ("Quel est votre nom ? ","Identification","TonNom)) && (TonNom!="") Then

  SayString ("Merci de vous être identifiés...")

Else

  SayString ("Saisie annulée ou invalide.")

EndIf

 

Philippe BOULANGER