EnleverBarreDeTitreUserform

M

Moa

Guest
Est-il possible d'enlever la barre de titre d'un userform ?

En fait, j'ai chercher, dans les propriétés "Apparence", mais apparement, il n'y a pas ce genre d'option.

Si qqn à déjà fait ça, en Vba, je suppose, merci d'avance.

@ +

Moa
 
@

@christophe@

Guest
bonjour Moa

Voila une solution que j'ai trouvé sur un site internet, a toi d'essayer, je t'ai copie l'explication.

Dans le module de ton UserForm:

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, Style As Long

hWnd = FindWindow(vbNullString, Me.Caption)
Style = GetWindowLong(hWnd, -16) And Not &HC00000
SetWindowLong hWnd, -16, Style
DrawMenuBar hWnd
End Sub

Bien évidemment, tu ne pourras plus dans ce cas déplacer ton UserForm avec
la souris.

Christophe
 
M

Moa

Guest
Salut Christophe

Je viens de tester, ta formule, je l'ai mise, dans le module Userform, et cela ne change rien.

Merci quand-même

@ +

Moa
 
@

@+Thierry

Guest
Bonjour Moa; Re @Xtof@

Moa ce n'est pas une Function normale... c'est une API... Selon la version de Windoze çà peut ne pas marcher.

Chez moi ça marche, Win ME / Office 2000

Il faut aussi respecter DEUX choses :

111°) la partie :
Private Declare Function blah blah blah...

Doit être en top du Module... Rien d'autre au dessus (mis à part Option Explicit ou autre Option)

222°) dans la partie
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As
Long

Il y a une coupure dûe au copié/collé de Christophe il faut que cette ligne soit entière of course.
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long

Sinon ça marche...

Tu es sous quel OS Moa ?
@+Thierry
 
M

Moa

Guest
Je suis en Xp, office pro 2000

J'avais fait exactement ça, Thierry.

J'y retourne

Merci

@ +

Moa
 
@

@+Thierry

Guest
Elle y est déjà la partie initialize dans ce code !!!!

je ne comprends pas ce que tu trafiques Moa ? lol

@+Thierry
 
M

Moa

Guest
Oui, moi non plus...

En fait en mode crétaion, j'affiche mon UserForm, je doubleclique dessus, et je mets mon code.

Je pense que quelquechose m'échappe.

J'y retourne.

Moa
 
G

GM

Guest
Bonsoir Moa et le forum

Une petite demo rien de plus le code vient de hans herbert

@+ Gérard
 

Fichiers joints

@

@+Thierry

Guest
RE Moa,

Le fait de double cliquer sur ton UserForm te met bien sur le private module du UserForm en Question par contre çà te créé un évènement "Click" ... Ou si un évènement existe déjà çà te place dans cet évènement...

le mieux pour afficher le Code d'un UserForm est de passer par l'explorateur de projet de sélectionner ton UserForm et de faire (au choix):

- Soit un click droit et choisir Code dans le menu contextuel
- Soit cliquer sur le bouton "Afficher Le Code" en haut de cette fenetre explorateur de projet.

Un private module de UserForm est identique aux autres modules... Et dans ce cas les quatres Functions doivent être en haut du module...

Private Declare Function FindWindow
blah blah blah
....
Suivie de :
Private Declare Function GetWindowLong
et de :
Private Declare Function SetWindowLong
et de :
Private Declare Function DrawMenuBar

ce n'est QU'EN DESSOUS que tu dois mettre

Private Sub UserForm_Initialize()


Mais il y a des chances que ces API ne fonctionnent pas sous Win XP ....

Enfin comme çà tu auras un peu survolé les modules de UserForm...

@+Thierry
 
T

Ti

Guest
Moa, au risque de me répéter, laisse tomber ces complications inutiles, et réléchis à la solution d'une barre de commande dédiée. Mais bon, je te dis ça comme ça...
 
M

Moa

Guest
Bon, je laisse tomber.


Je viens de tout recommencer depuis le début.

En faisant la manip de Thierry, click droit et code.

Quand je colle le code de Chrsitophe, Excel, me met systématiquement, "Initialize", en haut à droite.

Et pas moyen de trouver, en haut à gauche , les 4 fonctions de Thierry.

Donc, je laisse tomber.

Ti, "une barre de commande dédiée", désolé mais je ne sais pas comment faire ça.

Merci beaucoup, à vous tous.

@ +

Moa
 
@

@+Thierry

Guest
Mais non Moa.......

Je te parle du Cas présent !! du Code que Christophe t'a proposé !! pas de ce que tu peux trouver en haut à droite !!! dans le menu déroulant !! je ne parle pas de ça !!

Je t'expliquais juste que ces Functions pour des appels à des API devaient être placées en haut de module....

Mais tu as raison laisse tomber, de toutes manières faire appel à des API n'est jamais trop recommandé si on peut trouver sa solution ailleurs en plus simple.

Pour Créer des Barres d'outils persos cherche à "CommandBar"...

@+Thierry
 
M

Moa

Guest
hihihi...je sens, que je vais vous fatiguer....hihihi.

T'as raison, je vais chercher ailleurs, de toute façon, c'est aussi bien, car comme tu le sais, c'est une appli, que je vais donner et il se peut que ce genre de truc, ne fonctionne pas chez tout le monde, ou même pire, fasse des bugs.

Donc, je vais de ce pas, voir du côté de command.bar.

Encore merci beaucoup

@ +

Moa
 
@

@+Thierry

Guest
J'ai dit "CommandBar" !!!

Alors vas-y faire un tour

mais pas au "Command.Bar"..... ni au Bar du Commandant !!! (hips )

lol
:)
@+Thierry
 
T

Ti

Guest
Moa, je vais te faire une petite démo d'une barre de commande, tu verras comme ç'est facile. Donne moi un peu de temps (d'ici ce soir ou demain).
 
@

@Christophe@

Guest
Bonsoir Tous le monde, Thierry, Moa, Ti, ...


J'ai essayé le code que je n'avais pas eu le temps d'essayer la tantot, et il fonctionne tres tres bien, je tourne sous Windows XP PRO et excel XP PRO, voila Moa, je sais pas ce qui ne vas pas chez toi, comme Thierry dis dans la derniere ligne j'ai mis le LONG apres la AS.

Voila, j'ai joint mon fichier test

Christophe
 

Fichiers joints

@

@+Thierry

Guest
Hey les gars je m'inquiète je n'ai plus vu Vincent depuis au moins Vendredi.... Il avait dit qu'il partait ce week end ?

@+Thierry
 
T

Ti

Guest
Voilà Moa, c'est du cousu main, tu n'as qu'une dizaine de lignes à changer ou à adapter (le nom de tes boutons et le nom des macros à appeler réellement)

Ne va pas dire maintenant que tes boutons baladeurs étaient plus simples !
 

Fichiers joints

Haut Bas