Macro pour utiliser des champs de texte pour les messages, Excel VBA

Si vous démarrez une macro plus longue, vous devez vous assurer que l’utilisateur sait qu’une macro est toujours en cours d’exécution et lui en informer via un message d’écran. Cette mesure empêche l’utilisateur de devenir nerveux et peut-être de croire qu’une macro qui fonctionnait depuis longtemps s’est écrasée. Cette impression peut facilement survenir si vous avez ensuite désactivé la mise à jour de l’écran.
Pour cette raison, vous pouvez afficher un champ de texte temporaire sur l’écran juste au début de la macro, écrire un message dans le champ de texte et supprimer à nouveau le champ de texte à la fin de la macro.

Figure: Champs de texte “Patientez” comme fenêtres de message

La macro pour cette tâche est présentée dans l’extrait .

Private Sub Workbook_Open()
ActiveSheet.OLEObjects.Add _
(ClassType:="Forms.TextBox.1", _
Left:=70, Top:=60, Width:=150, Height:=25).Activate
ActiveSheet.OLEObjects _
(ActiveSheet.OLEObjects.Count).Name = "Message"
ActiveSheet.OLEObjects("Message").Object.Text = _
" Patientez s'il-vous-plait..."
Application.Wait (Now + TimeValue("0:00:05"))
ActiveSheet.OLEObjects("Message").Delete
End Sub

 

Commentaires

■ La collection OLEObjects est une collection de tous les contrôles ActiveX ou objets OLE liés ou incorporés.

■ Add est une méthode de l’objet OLEObhects utilisé pour ajouter une zone de texte à l’objet de collection. Sa syntaxe est :

Add (ClassTypeFileNameLinkDisplayAsIconIconFileNameIconIndexIconLabelLeftTopWidthHeight)

Dans l’argument ClassType, vous devez spécifier de quel type il doit s’agir. Voir les options qui s’offrent à vous dans le tableau suivant.

Contrôle à insérer Description
CheckBox Forms.CheckBox.1
ComboBox Forms.ComboBox.1
CommandButton Forms.CommandButton.1
Frame Forms.Frame.1
Image Forms.Image.1
Label Forms.Label.1
ListBox Forms.ListBox.
MultiPage Forms.MultiPage.1
OptionButton Forms.OptionButton.1
ScrollBar Forms.ScrollBar.1
SpinButton Forms.SpinButton.1
TabStrip Forms.TabStrip.1
TextBox Forms.TextBox.1
ToggleButton Forms.ToggleButton.1

■ Dans les arguments suivants, vous définissez la position et la taille exactes du champ de texte que vous souhaitez insérer.

■ Immédiatement après avoir inséré le champ de texte, activez-le avec la méthode Activate.

■ À l’étape suivante, vous attribuez un nom au champ de texte inséré afin qu’il soit accessible plus facilement. Pour ce faire, utilisez la propriété Name.

■ Pour pouvoir attribuer un texte au champ de texte, vous devez adresser le champ de texte correctement. Vous pouvez le faire en utilisant le nom du champ de texte et les propriétés Objet et Texte.

■ Vous pouvez ensuite traiter vos autres commandes de macro et supprimer le champ de texte à l’aide de la méthode Delete une fois la macro complète terminée.

■ La méthode Wait a été utilisée pour supprimer la zone de texte insérée après exactement cinq secondes.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x