bonjour à toute l'équipe,
je veux avoir sur mon userforme un petit boutton pour le réduire comme celui de croix pour le fermer. alors en faisant la recherche sur le forme je trouve cette solution

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
' Variables globales au module
Private sheet As Worksheet
 
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 Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
 
' Composant UserForm
Private Sub UserForm_Initialize()
Dim hWnd As Long
 
'Récupération window de l'userform et ajoute 'Réduire/Agrandir'
hWnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000
'Ici pour éliminer la fermeture
'SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
 
End Sub
pour moi ça marche pas??? du coup j'ai deux question:
1) comme mon est dans des codes sur les button de mon userforme, c'est à dire j'ai pas utiliser de module(par contre j'ai plusieurs userforme) alors j'ai céer un module j'ai mis cette partie du code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Private sheet As Worksheet
 
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 Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

et dans mon userforme la partie qui reste:


'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Composant UserForm
Private Sub UserForm_Initialize()
Dim hWnd As Long
 
'Récupération window de l'userform et ajoute 'Réduire/Agrandir'
hWnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000
'Ici pour éliminer la fermeture
'SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
mais ça marche pas il m'affiche un message: sub ou fonction non définie;
dites moi s'il vous plait où est le probleme??? merci par avance