suppression Bandeau bleu userform

  • Initiateur de la discussion Initiateur de la discussion Helldo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

H

Helldo

Guest
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 modification par un modérateur:
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+
 
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

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
 
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

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
😕Supprime cette constante et ça devrait le faire
 

Pièces jointes

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 !!! 😱 + 😱 = 😱²
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
46
Affichages
3 K
Réponses
7
Affichages
746
Retour