Créer un formulaire personnalisé ou Userform avec arrière-plan modifiable, Excel VBA

Une image en arrière-plan peut être incorporée dans un formulaire à l’aide de la propriété Picture. Cette propriété affiche l’image à ses dimensions d’origine. Si vous souhaitez que l’image occupe tout le côté client du formulaire ou toute sa largeur ou sa hauteur, utilisez la propriété PictureSizeMode. La propriété PictureAlignment place l’image dans la zone cliente du formulaire, par exemple, centrée ou contre les côtés spécifiés du formulaire.
Construisons un projet d’un formulaire dans laquelle une image est affichée en arrière-plan. Lorsque vous cliquez sur le formulaire, deux image se remplaceront alternativement.
Pour implémenter le projet, vous devez disposer de deux images. Dans ce cas, il s’agit de C: \ image1.jpg et C: \ image2.jpg. Alors, construisez un formulaire et, à l’aide de la fenêtre Propriétés, définissez ses valeurs de propriété comme indiqué dans le tableau suivant.
Tableau. Valeurs de propriété définies dans la fenêtre Propriétés

Objet Propriété Valeur
Formulaire ou UserForm Picture Lien vers le fichier bitmap C:\image1.jpg
PictureSizeMode FmPictureSizeModeStretch
Caption Arrière plans modifiables

Double-cliquez sur le bouton gauche de la souris sur le formulaire et dans le module UserForm ouvert tapez le code suivant :

Private Sub UserForm_Click()

    Static flag As Boolean

    Dim nomfichier As String

        If Not flag Then

            nomfichier = "C:\image1.jpg"

            Me.Picture = LoadPicture(nomfichier)

            Me.PictureSizeMode = fmPictureSizeModeStretch

            Me.Caption = "Images d'arrière-plan modifiables" & nomfichier

        Else

            nomfichier = "C:\image2.jpg"

            Me.Picture = LoadPicture(nomfichier)

            Me.PictureSizeMode = fmPictureSizeModeZoom

            Me.PictureAlignment = fmPictureAlignmentTopLeft

            Me.Caption = "Images d'arrière-plan modifiables" & nomfichier

        End If

    Me.Repaint

    flag = Not flag

End Sub

 

Figure 1 Une image en arrière-plan d’un UserForm

Commentaires

Maintenant, lorsque vous cliquez, les images D: \ image1.jpg et D: \ image2.jpg se remplaceront alternativement sur le formulaire.

■ Le chargement d’une image à partir d’un fichier dans le code est effectué par la fonction LoadPicture, dont la valeur de paramètre est le nom du fichier source.

■ Puisque la valeur de la propriété PictureSizeMode pour l’image D: \ image1.jpg est égale à fmPictureSizeModeStretch, elle s’étire ou se rétrécit hors de proportion afin d’occuper toute la zone cliente du formulaire.

■ La valeur de la propriété PictureSizeMode pour l’image D: \ image2.jpg est égale à fmPictureSizeModeZoom, elle est donc étirée ou rétrécie proportionnellement pour occuper soit toute la largeur, soit la hauteur de la zone cliente du formulaire.

■ La propriété PictureAlignment, définie sur fmPictureAlignmentTopLeft, fait correspondre les coins supérieurs gauche de l’image et la zone de formulaire du client.
Dans la fenêtre Propriétés, l’image est supprimée en plaçant le curseur dans le champ Image et en appuyant sur la touche <Supprimer>. Dans le code, cela est réalisé en affectant la valeur de la propriété Picture à LoadPicture (“”). Par exemple:

Me.Picture = LoadPicture ("")
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