Quelques infos sur les UserForms

Dans cette rubrique vous trouverez des infos pour la gestion des UserForms.

 

Retour au menu Contrôles diversRetour au menu Contrôles divers
 
Empêcher le déplacement d'un Userform.

Mettre hors fonction la croix (X) de fermeture du UserForm.
Minimiser un formulaire (Excel 2000 uniquement).

Ajout d'une image sur un bouton de formulaire.


 
Empêcher le déplacement d'un Userform,Retour au début
et non affichage de la croix de fermeture.

 
[ Exemple proposé par Laurent Longre ]

Le code qui suit devra être dans le module de code du UserForm.

Private Declare Function FindWindowA Lib "User32" _
      (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetWindowLongA Lib "User32" _
      (ByVal hWnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "User32" _
      (ByVal hWnd As Long, ByVal nIndex As Long, _
      ByVal dwNewLong As Long) As Long

Private Sub UserForm_Activate()
      Dim hWnd As Long, exLong As Long
      hWnd = FindWindowA(vbNullString, Me.Caption)
      exLong = GetWindowLongA(hWnd, -16)
      If exLong And &H880000 Then
            SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
            Me.Hide: Me.Show
      End If
End Sub

Mettre hors fonction la croix (X) de fermeture du UserForm.Retour au début

 

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
      If CloseMode = vbFormControlMenu Then
            MsgBox "Vous ne pouvez pas utiliser ce bouton de fermeture."
            Cancel = True
      End If
End Sub

Minimiser un UserForm.Retour au début

 

[ Exemple proposé par Laurent Longre ]

Mettre la propriété ShowModal du UserForm sur False (cette propriété n'existe pas sous Excel 97)

Défintions :

      1 - Lorsqu'un objet UserForm est modal (ShowModal=True), l'utilisateur doit fournir des informations
          ou fermer l'objet UserForm pour pouvoir utiliser toute autre partie de l'application.
      2 - Lorsqu'un objet UserForm n'est pas modal (ShowModal=False), l'utilisateur peut afficher d'autres feuilles
          ou fenêtres sans fermer cet objet.

Le code qui suit devra être dans le module de code du UserForm.

Private Declare Function FindWindowA Lib "User32" _
      (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetWindowLongA Lib "User32" _
      (ByVal hWnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "User32" _
      (ByVal hWnd As Long, ByVal nIndex As Long, _
      ByVal dwNewLong As Long) As Long

Private Sub UserForm_Activate()
      Dim hWnd As Long, exLong As Long
      hWnd = FindWindowA(vbNullString, Me.Caption)
      exLong = GetWindowLongA(hWnd, -16)
      If (exLong And &H20000) = 0 Then
            SetWindowLongA hWnd, -16, exLong Or &H20000
            Me.Hide: Me.Show
      End If
End Sub

Ajouter une image à un bouton de formulaire.Retour au début

 

Pour ajouter une image à un bouton de formulaire, il faut posséder une image de type Gif par exemple
avec une taille d'environ 26x20 comme celles ci-dessous.

Vous créez votre bouton normalement et ensuite vous allez dans les propriétés de ce bouton.

1 - Sélectionner la propriété Picture et cliquez sur le bouton avec 3 points. Vous sélectionnez votre image.
2 - Sélectionner la propriété PicturePosition et choisissez l'option 2 - fmPicturepositionLeftBottom.
    (C'est celle qui me parait être la mieux adaptée).

 


Conception & Réalisation
© Eric RENAUD - 11/1999