suppression Bandeau bleu userform

Helldo

XLDnaute Nouveau
Hello le forum !

Voila j'ai récupérer de Marc_du_78 le bout de code ci-dessous pour faire ce que l'intitulé indique. Le problème est que j'ai trois userform, et ce code ne marche que sur 2 d'entre eux seulement... l'erreur pointe sur : "-> style =...". Message "erreur de compilation _ variable non définie"
Pourquoi dans ce userform et pas dans les deux autres ?!?

Quelqu'un aurait-il une idée sur ce problème ? voici le code de Marc_du_78 :

Code:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
'--------------------------------------------
Private Sub UserForm_initialize()
Dim hwnd As Long

  hwnd = FindWindow(vbNullString, Me.Caption)
  style = GetWindowLong(hwnd, -16) And Not &HC00000
  SetWindowLong hwnd, -16, style
  DrawMenuBar hwnd

end sub

Merci d'avance !
 
Dernière édition:
G

Guest

Guest
Re : suppression Bandeau bleu userform

Bonjour Helldo,

Sans doute que le hwnd (identifiant unique d'une fenêtre pour windows) de la fenêtre n'est pas trouvé. As-tu deux fenêtre portant le même Caption (titre) ouverte en même temps ou une fenêtre sans titre(La recherche de l'identifiant se fait sur ce titre)?

sinon, sans l'exemple précis, difficile de voir.

A+
 

Helldo

XLDnaute Nouveau
Re : suppression Bandeau bleu userform

Re

Merci à vous deux de vous pencher sur le sujet, j'ai bien copié ces lignes dans chacuns des userform et chaque 'caption' des 3 userform est unique... je joint mon fichier avec l'erreur (dsl pour le boxon dans le programme, j'ai pas eu le temps de faire le ménage).

merci encore
 

Pièces jointes

  • test1.xls
    45 KB · Affichages: 94
  • test1.xls
    45 KB · Affichages: 97
  • test1.xls
    45 KB · Affichages: 108
G

Guest

Guest
Re : suppression Bandeau bleu userform

helldo,

Il faut déclarer toute test variables.

Option Explicit et Option Compare Text doivent appraître en premier dans le module (sur les premières lignes du module.

Ensuite:

Code:
Private Sub UserForm_initialize()
Dim hwnd As Long
[B]Dim style As Long[/B]
  hwnd = FindWindow(vbNullString, Me.Caption)
  style = GetWindowLong(hwnd, -16) And Not &HC00000
  SetWindowLong hwnd, -16, style
  DrawMenuBar hwnd
   
    Me.Caption = T
    Ini
    Label48.Visible = False 'Déclenche un erreur , il n'existe pas
End Sub

Lorsque tu as une erreur et que tu poste un message ici essaies de donner toutes les informations de l'erreur (message etc)

A bientôt
 

Helldo

XLDnaute Nouveau
Re : suppression Bandeau bleu userform

Bonjour Hasco, CB60, le forum, en espèrant que le weekend fût bon !

Désolé pour ce label48, qui n'est pas un problème en soit, juste que pour allèger le fichier j'ai dû le supprimer du userform, mais j'ai omis de le supprimer du code...
Hasco, j'ai fais ce que tu avais dis à savoir :

- déclarer "style as long" (j'avais déja essayé mais sans résultat).
La question est pourquoi les deux autres codes des userform 1 et 2 n'ont pas besoin de cette déclaration pour fonctionner !? Avec cette déclaration, certe il n'y à plus d'erreur, mais le bandeau bleu du userform est toujours là !

- Mis 'Option Explicit' et 'Option Compare Text' en première ligne dans le module

Cela ne fonctionne toujours pas ! et encore une fois je ne comprend pas pourquoi....

je joint le fichier sans autres erreurs que celle décrite. encore dsl et merci de persister
 

Pièces jointes

  • test1.zip
    24.6 KB · Affichages: 64
  • test1.zip
    24.6 KB · Affichages: 59
  • test1.zip
    24.6 KB · Affichages: 62

Dull

XLDnaute Barbatruc
Re : suppression Bandeau bleu userform

Salut Helldo, Hasco:), Bruno:), le Forum

Peut être ai-je mal compris mais apparemment tu veux inhiber le bandeau bleu de l'UserForm alors pourquoi déclarer la constante
Code:
Const T As String = "nom de la société" [COLOR=Green]' a supprimer[/COLOR]
et dans

Code:
Private Sub UserForm_initialize() 
'...
Me.Caption = T[COLOR=Green] ' a supprimer[/COLOR]
'...
End Sub
:confused:Supprime cette constante et ça devrait le faire
 

Pièces jointes

  • Helldo.zip
    21.4 KB · Affichages: 117

Helldo

XLDnaute Nouveau
Re : suppression Bandeau bleu userform

Re

Quel binbin je fais ! Il suffisait de supprimer le 'caption' qui n'avait déja plus raison d'être.... des heures passées sur une ânerie pareille, j'ai honte....

Merci grandement Dull pour m'avoir tiré de ce mic-mac !!! :eek: + :eek: = :eek:²
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 950
Membres
103 989
dernier inscrit
jralonso