XL 2016 redimensionner un userform avec la souris

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

Fabien35200

XLDnaute Nouveau
Bonjour à tous,

je cherche à pouvoir redimensionner un userform avec la souris comme toute fenetre sur windows.J ai testé ce code parmis bcp d autre mais aucun effet:


VB:
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Button = 1 Then
        If X > Me.Width - 10 And Y > Me.Height - 10 Then
            Me.Width = X
            Me.Height = Y
        End If
    End If
End Sub

merci par avance pour votre aide.

Cordialement.

Fabien.
 
Solution
re
ben voila
VB:
'*********************************************************************************
'                       Collection UserForm Patricktoulon                        *
'                USERFORM REDIMENTIONABLE AVEC LA SOURIS SANS API                *
'                                                                                *
'Auteur:patricktoulon sur Exceldownload                                          *
'version 2.0 sans controls label pilote                                          *
'date version :24/03/2020                                                        *
'l'userform est redimmentionnable par les 4 cotés et les 4 angles                *
'le mouse pointeur vous indique le sens et le type de...
un exemple d'utilisation d'api windows au black(sans déclaration)
cet exemple t'ajoute les 2 boutons manquant et l'elasticité
etC EST COMPATIBLE TEL QUEL AVEC 32/64 BITS
VB:
'**********************************************************************************************
'      Ajouter les deux boutons manquants dans la barre de titre  à l'UserForm  et le mouse resizepar les angles et les cotés
'patricktoulon
'**********************************************************************************************

'EXEMPLE
Private Sub UserForm_Activate()
    trois_boutons
End Sub

Private Sub trois_boutons()
    Dim hwnd&
    hwnd = ExecuteExcel4Macro("CALL(""user32"",""GetActiveWindow"",""JCC"")")         'api GetActiveWindow
    ExecuteExcel4Macro ("CALL(""user32"",""SetWindowLongA"",""JJJJJ""," & hwnd & ", " & -16 & ", " & &H94CF0080 & ")")     'api SetWindowLongA
End Sub

te reste plus qu'a adapter le activate et le resize que j'ai déja donné
 
oui le mouse resize je l'avais jamais donné; il fait parti de ma collection userform que je comptais distribuer dans une ressource et je l'ai pas fait.... bon ben maintenant il circule
n’hésitez pas a y apporter des modifs améliorantes et partager

j'en ai d'autre avec label aussi et surtout!!!!! toujours sur les quatres angles 😉
l'utilisation de l'un ou de l'autre dépendra des controls que vous aménagez dans vos userforms
en effet si un control se trouve dans chaques angles avec ce model ca ne fonctionnera pas

par contre avec celui ci oui AVEC LES LABELS
je les ai laisser visibles une ligne a bloquer pour qu'il ne le soit pas (voir commentaires)

démonstration
demo4.gif


je le dis plus bonne route 😉
 

Pièces jointes

- 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

Discussions similaires

Réponses
4
Affichages
513
Retour