Macros-commandes VBA/Boite de dialogue

Leçons de niveau 14
Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Boite de dialogue
Icône de la faculté
Chapitre no 8
Leçon : Macros-commandes VBA
Chap. préc. :Enregistreur
Chap. suiv. :Création de Formulaire

Exercices :

Convertisseur Euro-Franc
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Macros-commandes VBA : Boite de dialogue
Macros-commandes VBA/Boite de dialogue
 », n'a pu être restituée correctement ci-dessus.

Parmi les outils VBA il y a différentes boites de dialogue standard fournies par le langage.

La boite de dialogue MsgBox[modifier | modifier le wikicode]

Cette boite de dialogue permet d'afficher des messages à l'utilisateur à partir de constantes ou de variables VBA, elle permet aussi la saisie de réponses à des questions fermées (oui, non, ok, cancel, …). L'utilisateur dispose de plusieurs types de boutons pour poser une question fermée (vbOKOnly, vbOKCancel, vbAbortRetryIgnore, vbYesNo, vbYesNoCancel, vbRetryCancel, …) qui renvoient plusieurs types de réponses quand ils sont activés :

  • Le bouton OK renvoie la valeur vbOK
  • Le bouton OUI renvoie la valeur vbYes
  • Le bouton NON renvoie la valeur vbNo
  • Le bouton Annuler renvoie la valeur vbCancel
  • Le bouton Ignorer renvoie la valeur vbIgnore
  • Le bouton Recommencer renvoie la valeur vbRetry
  • ...
Boite de dialogue à réponse fermée
Titre Exemple Commentaire
Syntaxe générale MsgBox(prompt[, buttons] [, title] [, helpfile, context]) La fonction MsgBox possède de nombreux autres arguments, consulter l’aide pour plus d’informations
Uniquement afficher un message MsgBox "Hello World",vbOKOnly+vbInformation,"INFO" Message simple dans une fenêtre INFO avec un indicateur informatif et un bouton OK (seule réponse possible)
Afficher un message avec une variable Msgbox "Vous avez ouvert " & Workbooks.Count & " classeurs" Message simple dans une fenêtre avec affichage de constantes et de variables
Poser une question fermée à choix unique Reponse=MsgBox("Voulez-vous continuer ?",vbYesNo) Message simple dans une fenêtre avec saisie de réponses soit OUI soit NON

La boite de dialogue InputBox[modifier | modifier le wikicode]

Cette boite de dialogue permet de récupérer des valeurs saisies par l'utilisateur en réponse à des questions ouvertes. Les réponses sont stockées dans des variables VBA pour être réutilisées ultérieurement.

Boite de dialogue à question ouverte
Titre Exemple Commentaire
Syntaxe générale InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context]) La fonction InputBox possède plusieurs autres arguments, consulter l’aide pour plus d’informations
Poser une question ouverte à réponse textuelle nom=InputBox("saisir votre nom") Cette boîte de saisie permet à l’utilisateur de saisir un texte répondant à ce qui lui est demandé, la variable nom prend alors la valeur qui a été saisie par l'utilisateur
Poser une question ouverte à réponse numérique reponse = InputBox("Entrer un nombre entre 1 et 100", "JEU") Cette boîte de saisie permet à l’utilisateur de saisir un nombre dans une fenêtre "JEU", la variable reponse prend alors la valeur qui a été saisie par l'utilisateur

La boite de dialogue d’ouverture de fichier[modifier | modifier le wikicode]

Cette boite fait partie du modèle objet et permet via une fenêtre de dialogue spécifique l’ouverture de fichiers ou de dossier. Ici, c’est l’utilisateur qui dirige la manœuvre de recherche arborescente et graphique de fichier.

Les paramètres facultatifs suivants peuvent être utilisés pour la méthode GetOpenFileName : FileFilter, FilterIndex, Title, MultiSelect

La boite de dialogue de sauvegarde de fichier[modifier | modifier le wikicode]

Cette boite fait partie du modèle objet et permet via une fenêtre de dialogue spécifique l'enregistrement de fichier. Ici, c’est l’utilisateur qui dirige la manœuvre de recherche arborescente, de typage et de nommage de fichier.

Les paramètres facultatifs suivants peuvent être utilisés pour la méthode GetSaveAsFileName : InitialeFile, FileFilter, FilterIndex, Title

Liste des imprimantes du PC[modifier | modifier le wikicode]

La liste des imprimantes installées sur un PC est accessible avec :

Application.Dialogs(xlDialogPrinterSetup).Show
MsgBox Application.ActivePrinter

Le bouton "Configurer" de cette boite permet d'accéder aux propriétés de l'imprimante sélectionnée.

La sélection effectuée par l'utilisateur modifie directement l'imprimante active.

Par contre pour rechercher une imprimante par une partie de son nom, il faut que le script lise la base de registre[1].

Références[modifier | modifier le wikicode]

Bibliographie[modifier | modifier le wikicode]

  • Jensen O.G., 2003, Initiation à la programmation VBA Word, KNOWWARE, Ecuelles
  • Bidault M., 2000, Excel et VBA, CAMPUS, Paris

Liens internes[modifier | modifier le wikicode]

Liens externes[modifier | modifier le wikicode]