Vous avez apprécié ?
Cliquez ;-)

Cours VBA : UserForm

Pour ajouter un UserForm, procédez de la même manière que pour un nouveau module :

usf - userform

La fenêtre de l'UserForm ainsi que la "Boîte à outils" apparaissent :

usf2 - userform

Si la fenêtre des propriétés n'est pas présente, affichez-la et commencez par modifier le nom de l'UserForm (pour mieux s'y retrouver par la suite) :

proprietes - userform

Tout comme le classeur ou les feuilles, l'UserForm a ses propres événements. Pour ajouter des événements, double-cliquez sur la fenêtre de l'UserForm :

evenements - userform

Pour prendre un exemple, nous allons créer deux événements. Le premier pour définir les dimensions initiales de l'UserForm et le second pour augmenter ses dimensions de 50 pixels au clic.

L'événement UserForm_Initialize se déclenche au lancement de l'UserForm :

height - userform

La propriété Height est la hauteur, Width la largeur :

Private Sub UserForm_Initialize()
    Mon_userform.Height = 100
    Mon_userform.Width = 100
End Sub

Pour simplifier le code, nous pouvons remplacer le nom de l'UserForm par Me (puisque ce code est placé dans l'UserForm sur lequel on souhaite agir) :

Private Sub UserForm_Initialize()
    Me.Height = 100
    Me.Width = 100
End Sub

Le second événement est déclenché au clic sur l'UserForm :

Private Sub UserForm_Initialize()
    Me.Height = 100
    Me.Width = 100
End Sub

Private Sub UserForm_Click()
    Me.Height = Me.Height + 50
    Me.Width = Me.Width + 50
End Sub
fenetre - userform

Lancer un UserForm

Pour lancer un UserForm depuis une procédure, utilisez Show :

Sub lancer_userform()
    Mon_userform.Show
End Sub