L'informatique à votre portée
L'informatique prêt-à-porter

Faites appel à moi pour vos formations
sur les dpts 81, 31, 82, 11 et 67 (Strasbourg)
Confiez moi vos développements Office

FacebookTwitterGoogle BookmarksLinkedin

InputBox

Imprimer E-mail
4 mars 2014

Cette fonction affiche une boîte de dialogue avec une zone de texte, elle attend que l'utilisateur tape du texte dans cette dernière et/ou clique sur un bouton. Elle renvoie alors le texte tapé sous forme d'une chaîne (le type String).
InputBox permet de préciser le texte d'invite, le titre de la boîte de dialogue, le texte à afficher dans la zone de texte (permet de proposer une réponse par défaut), la position sur l'écran de cette boîte et éventuellement l'aide à afficher (il faut au préalable concevoir un fichier d'aide).
L'exemple suivant, vous indique comment l'utiliser.
Sub Message()
   Dim Retour As String

   Retour = InputBox("Texte à afficher dans la cellule A1 ? ", "Titre de la fenêtre", "Texte par défaut", 100, 100)
   Range("A1") = Retour
End Sub
Si vous n'avez pas de texte par défaut à proposer vous utilisez la ligne ainsi :
   Retour = InputBox("Texte à afficher dans la cellule A1 ? ", "Titre de la fenêtre", , 100, 100)
Si vous ne précisez pas la position sur l'écran, la boîte de dialogue est centrée horizontalement et se positionne à 1/3 de l'écran, en partant du haut, la ligne s'écrit alors ainsi :
  
Retour = InputBox("Texte à afficher dans la cellule A1 ? ", "Titre de la fenêtre", "Texte par défaut")

Dans le cas où l'utilisateur clique sur le bouton Annuler, la fonction renvoie une chaîne vide, vous avez alors 2 possibilités pour gérer cette annulation :

  • Vous voulez empêcher l'utilisation de ce bouton, écrivez le code ainsi :
       Do 
          Retour = InputBox("Texte à afficher dans la cellule A1 ? ")
       Loop While Retour = ""
  • Vous ne voulez pas continuer le code :
       Retour = InputBox("Texte à afficher dans la cellule A1 ? ")
       If Retour = "" Then Exit Sub

MsgBox

Imprimer E-mail
4 mars 2014

Cette fonction affiche une boîte de dialogue avec 1 ou plusieurs boutons, attend un clic sur un bouton, puis renvoie une valeur de type Integer indiquant quel bouton a été cliqué.
MsgBox permet de préciser le texte à afficher, le type de boutons et l'icône à afficher, le titre de la boîte de dialogue et éventuellement l'aide à afficher (il faut au préalable concevoir un fichier d'aide).
Si le bouton cliqué n'a aucune importance, dans le cas où vous ne désirez que afficher un message à l'utilisateur, utilisez MsgBox ainsi :
      MsgBox "Texte à afficher"
Ou : 
      MsgBox "Texte à afficher",vbOKOnly,"Titre de la fenêtre"

Par contre, pour demander un choix en retour, utilisez-la ainsi :
Sub Message()
     Dim Retour As Integer

     Retour = MsgBox("Question à poser", vbYesNo + vbCritical + vbDefaultButton2, "Titre de la boîte")
     If Retour = vbYes Then
           Range("A1") = "Réponse OUI"
     Else
           Range("A1") = "Réponse NON"
     End If
End Sub