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 :

CopierPrivate 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) :

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

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

CopierPrivate 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 :

CopierSub lancer_userform()
    Mon_userform.Show
End Sub
Télécharger ce cours au format PDF