Je viens de me balader sur excelabo.net à la recherche de quelques
amélioration à apporter a mon appli. Et là bingo la fonction qui permet de
masquer la croix de fermeture et empeche l'utilisateur de déplacer le
Userform.
Je me dis chouet.
Mais ca marche pas.
J'ai modifier l'instruction pour ne l'ecrire qu'une seule fois et pouvoir
l'appeler depuis tout mes USF.
Voici la modif :
Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Sub SupprimerFermeture(USF As UserForm)
Dim hWnd As Long, exLong As Long
hWnd = FindWindowA(vbNullString, USF.Caption)
exLong = GetWindowLongA(hWnd, -16)
If exLong And &H880000 Then
SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
End If
End Sub
Le probleme c'est que j'arrive pas a rentrer dans la boucle if.
Si quelqu'un voit ce qui cloche ???????????????????
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Pierron
Bonsoir Seb; Je n'ai pas d'explication satisfaisante, mais je pense qu'il vaut mieux passer le handle de la fenêtre comme paramètre à la procédure générale.
Sub SupprimerFermeture(ByVal hWnd&) ' &H84C00080 si déplacement souhaité SetWindowLongA hWnd, -16, &H84400080 End Sub
Module UserForm: Private Sub UserForm_Initialize() SupprimerFermeture FindWindowA(vbNullString, Me.Caption) End Sub
MP
"seb" a écrit dans le message de news:%23tAwpN$
Salut a tous,
Je viens de me balader sur excelabo.net à la recherche de quelques amélioration à apporter a mon appli. Et là bingo la fonction qui permet de masquer la croix de fermeture et empeche l'utilisateur de déplacer le Userform.
Je me dis chouet.
Mais ca marche pas.
J'ai modifier l'instruction pour ne l'ecrire qu'une seule fois et pouvoir l'appeler depuis tout mes USF.
Voici la modif : Declare Function FindWindowA Lib "User32" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function GetWindowLongA Lib "User32" _ (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLongA Lib "User32" _ (ByVal hWnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long
Sub SupprimerFermeture(USF As UserForm) Dim hWnd As Long, exLong As Long hWnd = FindWindowA(vbNullString, USF.Caption) exLong = GetWindowLongA(hWnd, -16) If exLong And &H880000 Then SetWindowLongA hWnd, -16, exLong And &HFF77FFFF End If End Sub
Le probleme c'est que j'arrive pas a rentrer dans la boucle if.
Si quelqu'un voit ce qui cloche ???????????????????
Bonsoir Seb;
Je n'ai pas d'explication satisfaisante, mais je pense qu'il vaut mieux
passer le handle de la fenêtre comme paramètre à la procédure générale.
Sub SupprimerFermeture(ByVal hWnd&)
' &H84C00080 si déplacement souhaité
SetWindowLongA hWnd, -16, &H84400080
End Sub
Module UserForm:
Private Sub UserForm_Initialize()
SupprimerFermeture FindWindowA(vbNullString, Me.Caption)
End Sub
MP
"seb" <se.ampe@free.fr> a écrit dans le message de
news:%23tAwpN$cEHA.3892@TK2MSFTNGP11.phx.gbl...
Salut a tous,
Je viens de me balader sur excelabo.net à la recherche de quelques
amélioration à apporter a mon appli. Et là bingo la fonction qui permet de
masquer la croix de fermeture et empeche l'utilisateur de déplacer le
Userform.
Je me dis chouet.
Mais ca marche pas.
J'ai modifier l'instruction pour ne l'ecrire qu'une seule fois et pouvoir
l'appeler depuis tout mes USF.
Voici la modif :
Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Sub SupprimerFermeture(USF As UserForm)
Dim hWnd As Long, exLong As Long
hWnd = FindWindowA(vbNullString, USF.Caption)
exLong = GetWindowLongA(hWnd, -16)
If exLong And &H880000 Then
SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
End If
End Sub
Le probleme c'est que j'arrive pas a rentrer dans la boucle if.
Si quelqu'un voit ce qui cloche ???????????????????
Bonsoir Seb; Je n'ai pas d'explication satisfaisante, mais je pense qu'il vaut mieux passer le handle de la fenêtre comme paramètre à la procédure générale.
Sub SupprimerFermeture(ByVal hWnd&) ' &H84C00080 si déplacement souhaité SetWindowLongA hWnd, -16, &H84400080 End Sub
Module UserForm: Private Sub UserForm_Initialize() SupprimerFermeture FindWindowA(vbNullString, Me.Caption) End Sub
MP
"seb" a écrit dans le message de news:%23tAwpN$
Salut a tous,
Je viens de me balader sur excelabo.net à la recherche de quelques amélioration à apporter a mon appli. Et là bingo la fonction qui permet de masquer la croix de fermeture et empeche l'utilisateur de déplacer le Userform.
Je me dis chouet.
Mais ca marche pas.
J'ai modifier l'instruction pour ne l'ecrire qu'une seule fois et pouvoir l'appeler depuis tout mes USF.
Voici la modif : Declare Function FindWindowA Lib "User32" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function GetWindowLongA Lib "User32" _ (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLongA Lib "User32" _ (ByVal hWnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long
Sub SupprimerFermeture(USF As UserForm) Dim hWnd As Long, exLong As Long hWnd = FindWindowA(vbNullString, USF.Caption) exLong = GetWindowLongA(hWnd, -16) If exLong And &H880000 Then SetWindowLongA hWnd, -16, exLong And &HFF77FFFF End If End Sub
Le probleme c'est que j'arrive pas a rentrer dans la boucle if.
Si quelqu'un voit ce qui cloche ???????????????????
lyssandre
Merci, Michel, maintenant ca marche.
"Michel Pierron" a écrit dans le message de news:
Bonsoir Seb; Je n'ai pas d'explication satisfaisante, mais je pense qu'il vaut mieux passer le handle de la fenêtre comme paramètre à la procédure générale.
Sub SupprimerFermeture(ByVal hWnd&) ' &H84C00080 si déplacement souhaité SetWindowLongA hWnd, -16, &H84400080 End Sub
Module UserForm: Private Sub UserForm_Initialize() SupprimerFermeture FindWindowA(vbNullString, Me.Caption) End Sub
MP
"seb" a écrit dans le message de news:%23tAwpN$
Salut a tous,
Je viens de me balader sur excelabo.net à la recherche de quelques amélioration à apporter a mon appli. Et là bingo la fonction qui permet de
masquer la croix de fermeture et empeche l'utilisateur de déplacer le Userform.
Je me dis chouet.
Mais ca marche pas.
J'ai modifier l'instruction pour ne l'ecrire qu'une seule fois et pouvoir
l'appeler depuis tout mes USF.
Voici la modif : Declare Function FindWindowA Lib "User32" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function GetWindowLongA Lib "User32" _ (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLongA Lib "User32" _ (ByVal hWnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long
Sub SupprimerFermeture(USF As UserForm) Dim hWnd As Long, exLong As Long hWnd = FindWindowA(vbNullString, USF.Caption) exLong = GetWindowLongA(hWnd, -16) If exLong And &H880000 Then SetWindowLongA hWnd, -16, exLong And &HFF77FFFF End If End Sub
Le probleme c'est que j'arrive pas a rentrer dans la boucle if.
Si quelqu'un voit ce qui cloche ???????????????????
Merci, Michel, maintenant ca marche.
"Michel Pierron" <michel.pierron@free.fr> a écrit dans le message de news:
e7JiOPBdEHA.3096@tk2msftngp13.phx.gbl...
Bonsoir Seb;
Je n'ai pas d'explication satisfaisante, mais je pense qu'il vaut mieux
passer le handle de la fenêtre comme paramètre à la procédure générale.
Sub SupprimerFermeture(ByVal hWnd&)
' &H84C00080 si déplacement souhaité
SetWindowLongA hWnd, -16, &H84400080
End Sub
Module UserForm:
Private Sub UserForm_Initialize()
SupprimerFermeture FindWindowA(vbNullString, Me.Caption)
End Sub
MP
"seb" <se.ampe@free.fr> a écrit dans le message de
news:%23tAwpN$cEHA.3892@TK2MSFTNGP11.phx.gbl...
Salut a tous,
Je viens de me balader sur excelabo.net à la recherche de quelques
amélioration à apporter a mon appli. Et là bingo la fonction qui permet
de
masquer la croix de fermeture et empeche l'utilisateur de déplacer le
Userform.
Je me dis chouet.
Mais ca marche pas.
J'ai modifier l'instruction pour ne l'ecrire qu'une seule fois et
pouvoir
l'appeler depuis tout mes USF.
Voici la modif :
Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Sub SupprimerFermeture(USF As UserForm)
Dim hWnd As Long, exLong As Long
hWnd = FindWindowA(vbNullString, USF.Caption)
exLong = GetWindowLongA(hWnd, -16)
If exLong And &H880000 Then
SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
End If
End Sub
Le probleme c'est que j'arrive pas a rentrer dans la boucle if.
Si quelqu'un voit ce qui cloche ???????????????????
Bonsoir Seb; Je n'ai pas d'explication satisfaisante, mais je pense qu'il vaut mieux passer le handle de la fenêtre comme paramètre à la procédure générale.
Sub SupprimerFermeture(ByVal hWnd&) ' &H84C00080 si déplacement souhaité SetWindowLongA hWnd, -16, &H84400080 End Sub
Module UserForm: Private Sub UserForm_Initialize() SupprimerFermeture FindWindowA(vbNullString, Me.Caption) End Sub
MP
"seb" a écrit dans le message de news:%23tAwpN$
Salut a tous,
Je viens de me balader sur excelabo.net à la recherche de quelques amélioration à apporter a mon appli. Et là bingo la fonction qui permet de
masquer la croix de fermeture et empeche l'utilisateur de déplacer le Userform.
Je me dis chouet.
Mais ca marche pas.
J'ai modifier l'instruction pour ne l'ecrire qu'une seule fois et pouvoir
l'appeler depuis tout mes USF.
Voici la modif : Declare Function FindWindowA Lib "User32" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function GetWindowLongA Lib "User32" _ (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLongA Lib "User32" _ (ByVal hWnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long
Sub SupprimerFermeture(USF As UserForm) Dim hWnd As Long, exLong As Long hWnd = FindWindowA(vbNullString, USF.Caption) exLong = GetWindowLongA(hWnd, -16) If exLong And &H880000 Then SetWindowLongA hWnd, -16, exLong And &HFF77FFFF End If End Sub
Le probleme c'est que j'arrive pas a rentrer dans la boucle if.
Si quelqu'un voit ce qui cloche ???????????????????