Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA-USF: supprimer barre de titre (OK) mais comment deplacer ensuite?!

  • Initiateur de la discussion Initiateur de la discussion mimilll
  • 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 !

M

mimilll

Guest
hello,

maintenant que j'ai supprimé la barre de titre bleue de mon userform, je ne peux plus le deplacer!
comment faire pour deplacer mon userform? (clic-deplacer-relacher)

merci!!
 
Re : VBA-USF: supprimer barre de titre (OK) mais comment deplacer ensuite?!

Bonjour à tous du forum,

ci-joint fichier explicite,

le code utilisé, voir USF dans VBA (visualiser le code),

news
 

Pièces jointes

Dernière édition:
Re : VBA-USF: supprimer barre de titre (OK) mais comment deplacer ensuite?!

Bonjour News, boujour le forum,

je ne comprends pas tres bien ce que tu m'as envoyé car la barre de titre est toujours la et je ne peux pas deplacer l'userForm par le corps (en rose dans mon exemple), mais comme d'habitude par la barre de titre...
hihihi !
voici un exemple qui parlera sans doute mieux 😉

merciiiiiiiii
 

Pièces jointes

Re : VBA-USF: supprimer barre de titre (OK) mais comment deplacer ensuite?!

Bonsoir marchal.emilien@free.fr, news, le Forum,

En entête du module de code de ton Userform (au même niveau que tes déclarations de fonction Api), tu ajoutes :
Code:
[COLOR=GRAY][B][I]DANS L'ENTETE DU MODULE DE CODE DU USERFORM[/I][/B][/COLOR]

[COLOR=NAVY]Dim[/COLOR] Xusf [COLOR=NAVY]As Single[/COLOR], Yusf [COLOR=NAVY]As Single[/COLOR]
Ensuite, toujours dans le module de code du Userform, tu ajoutes aussi :
Code:
[COLOR=GRAY][B][I]DANS LE MODULE DE CODE DU USERFORM[/I][/B][/COLOR]

[COLOR=NAVY]Private Sub[/COLOR] UserForm_MouseDown([COLOR=NAVY]ByVal[/COLOR] Button [COLOR=NAVY]As Integer[/COLOR], [COLOR=NAVY]ByVal[/COLOR] Shift [COLOR=NAVY]As Integer[/COLOR], [COLOR=NAVY]ByVal[/COLOR] X [COLOR=NAVY]As Single[/COLOR], [COLOR=NAVY]ByVal[/COLOR] Y [COLOR=NAVY]As Single[/COLOR])
    [COLOR=NAVY]If[/COLOR] Button = 1 [COLOR=NAVY]Then[/COLOR]
        Xusf = X
        Yusf = Y
    [COLOR=NAVY]End If
End Sub[/COLOR]

[COLOR=NAVY]Private Sub[/COLOR] UserForm_MouseMove([COLOR=NAVY]ByVal[/COLOR] Button [COLOR=NAVY]As Integer[/COLOR], [COLOR=NAVY]ByVal[/COLOR] Shift [COLOR=NAVY]As Integer[/COLOR], [COLOR=NAVY]ByVal[/COLOR] X [COLOR=NAVY]As Single[/COLOR], [COLOR=NAVY]ByVal[/COLOR] Y [COLOR=NAVY]As Single[/COLOR])
    [COLOR=NAVY]If[/COLOR] Button = 1 [COLOR=NAVY]Then[/COLOR] Me.Move Me.Left + X - Xusf, Me.Top + Y - Yusf
[COLOR=NAVY]End Sub[/color]

[COLOR=NAVY]Private Sub[/COLOR] UserForm_DblClick([COLOR=NAVY]ByVal[/COLOR] Cancel [COLOR=NAVY]As[/COLOR] MSForms.ReturnBoolean)
    Unload Me       [COLOR=GREEN]'Double-click pour fermer le Usf !!![/COLOR]
[COLOR=NAVY]End Sub[/COLOR]
Cordialement,
 
Dernière édition:
Re : VBA-USF: supprimer barre de titre (OK) mais comment deplacer ensuite?!

Ayant lancé un premier SOS avec 3 questions et n'obtenant pas de reponses, j'ai decoupe mon gros PB en sous problemes, dont ce post est le premier.

J'ai obtnenu DEUX codes: HULK + MyDearFriend (Merci encore!)

Voici le comparatif (je ne mets pas le code [que l'on trouve aisémenent] pour supprimer la barre de titre)

HULK
DECLARATION de l'USF:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long

Puis:
Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
ReleaseCapture
SendMessage FindWindow(vbNullString, Me.Caption), &HA1, 2, 0&
End Sub


Voici le code de MydearFriend:
DECLARATION de l'USF:

Dim Xusf As Single, Yusf As Single

Puis:

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
Xusf = X
Yusf = Y
End If
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then Me.Move Me.Left + X - Xusf, Me.Top + Y - Yusf
End Sub

Bonne prog...
 
- 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

  • Question Question
Microsoft 365 Personal.xlsb
Réponses
4
Affichages
778
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
396
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…