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 !
Tu n'as décidément rien compris ?@cathodique
Merci de ne pas supprimer le label nom de l'auteur.( c'est un minimum)😀
pourquoi ne pas l'avoir laissé comme c'était. ( les label étant créer par programme et non en dur comme tu l'as fait)
nota: chez moi ton fichier plante.Regarde la pièce jointe 1228068Regarde la pièce jointe 1228067
tu as raison de me prendre pour un imbécile( ou pas) https://excel-downloads.com/threads/savez-vous-planter-les-choux.20089133/page-2#post-20710330Tu n'as décidément rien compris ?
ma machine fonctionne sous win7 64bits et Excel 2010 32bits. C'est sûrement un problème de compatibilité.@cathodique
Merci de ne pas supprimer le label nom de l'auteur.( c'est un minimum)😀
nota: JM27 = Jean-Marcel H
pourquoi ne pas l'avoir laissé comme c'était. ( les label étant créer par programme et non en dur comme tu l'as fait)
nota: chez moi ton fichier plante.Regarde la pièce jointe 1228068Regarde la pièce jointe 1228067
Que veux-tu que je te dise? Je n'arrête pas de recevoir des messages déplaisants de nouveaux XLDNautes. Je n'ai jamais insulté personne. Il est vrai que je peux me perdre (comme vous tous d'ailleurs) dans les réponses. Mais les réponses à la "con" de ces nouveaux "membres" me fâchent !@Constantin
1/ le message ne s'adressait pas à toi mais à cathodique.
Je pense que celui qui n'a rien compris : c'est toi.
Mais vu ton comportement terminé pour moi.
Avant d'agir essayes de réfléchir un petit peu, je sais cela doit être dur pour toi!
Pour info : certains se sont approprié de mes appli et l'on posté sur leur site moyennant rémunération.
normalement je bétonne le code et le rend inaccessible pour en limiter l'accès. (c'est ce que tu souhaites ?)
@JM27 😉, Stp quelle est ta version Windows et office.Effectivement je pense que ma version ( qui est la dernière) n'est pas compatible avec la tienne.
Bonjour @JM27 ,Bonjour
@cathodique
Microsoft® Excel® pour Microsoft 365 MSO (Version 2601 Build 16.0.19628.20214) 64 bits
Ca c'est un pléonasme 🙂chatgpt m'a donné des absurdités
'*****************************************************************************************************
' ___ _ _______ __ _ ____ _ _ _______ ___ _ _ _ ___ _ _.
' // \\ /\\ // // \\ // // // // // // \\ // // // // \\ //| //
' //___// //__\ // //__// // // //__// // // // // // // // // // | //
' // // \\ // // \\ // // // \\ // // // // // // // // // | //
'// // // // // // // //___ // \\ // \\__// //__// //___ \\__// // |//
'****************************************************************************************************
' Module RESIZER userform version basic
'version avec api en macro 4
'release 2020 for XLD
'****************************************************************************************************
Option Explicit
Dim OldW#, OldH#
Sub trois_boutons1() 'ajoute les 3 boutons et le resize dynamique à l'userform
Dim hWnd&
hWnd = ExecuteExcel4Macro("CALL(""user32"",""GetActiveWindow"",""JCC"")") 'api GetActiveWindow
ExecuteExcel4Macro ("CALL(""user32"",""SetWindowLongA"",""JJJJJ""," & hWnd & ", " & -16 & ", " & &H94CF0080 & ")") 'api SetWindowLongA
End Sub
Sub NoTitleBar1() 'supprime la barre de titre( rempli absolument tout l'ecran
Dim hWnd&
hWnd = ExecuteExcel4Macro("CALL(""user32"",""GetActiveWindow"",""JCC"")") 'api GetActiveWindow
ExecuteExcel4Macro ("CALL(""user32"",""SetWindowLongA"",""JJJJJ""," & hWnd & ", " & -16 & ", " & &H140F0101 ")") 'api SetWindowLongA
End Sub
Sub UsfFullScreen1() 'met le userform en plein ecran
Dim hWnd&
hWnd = ExecuteExcel4Macro("CALL(""user32"",""GetActiveWindow"",""JCC"")") 'api GetActiveWindow
ExecuteExcel4Macro ("CALL(""user32"",""ShowWindow"",""JJJ""," & hWnd & ", 3)") 'api SetWindowLongA
End Sub
Sub memoControlSize1(usf) 'on memorise dans le tag des controls leur position et dimension
Dim CtrL
OldW = usf.Width
OldH = usf.Height
For Each CtrL In usf.Controls
CtrL.Tag = CtrL.Left & ";" & CtrL.Top & ";" & CtrL.Width & ";" & CtrL.Height
On Error Resume Next
CtrL.Tag = CtrL.Tag & ";" & CtrL.Font.Size
CtrL.Tag = CtrL.Tag & ";"
Err.Clear: On Error GoTo 0
If TypeName(CtrL) = "ListBox" Or TypeOf CtrL Is ListBox Then
CtrL.Tag = CtrL.Tag & ";" & Replace(CtrL.ColumnWidths, ";", "|")
End If
CtrL.Tag = CtrL.Tag & ";"
Next
End Sub
Sub resiZer1(usf)
Dim newW#, NewH#, t, cw$, tc, CtrL, i&
newW = usf.Width / OldW
NewH = usf.Height / OldH
For Each CtrL In usf.Controls
t = Split(CtrL.Tag, ";")
CtrL.Move t(0) * newW, t(1) * NewH, t(2) * newW, t(3) * NewH
If TypeName(CtrL) = "ListBox" Or TypeOf CtrL Is ListBox Then
If CtrL.ColumnWidths = "" Then cw = Application.Rept("80", CtrL.ColumnCount) Else cw = CtrL.ColumnWidths
tc = Split(t(6), "|")
For i = 0 To UBound(tc): tc(i) = Val(tc(i)) * Application.Min(newW, NewH): Next
CtrL.ColumnWidths = Join(tc, ";")
End If
On Error Resume Next
CtrL.Font.Size = t(4) * Application.Min(newW, NewH)
Err.Clear: On Error GoTo 0
Next
End Sub
'*****************************************************************************************************
' ___ _ _______ __ _ ____ _ _ _______ ___ _ _ _ ___ _ _.
' // \\ /\\ // // \\ // // // // // // \\ // // // // \\ //| //
' //___// //__\ // //__// // // //__// // // // // // // // // // | //
' // // \\ // // \\ // // // \\ // // // // // // // // // | //
'// // // // // // // //___ // \\ // \\__// //__// //___ \\__// // |//
'****************************************************************************************************
' Module RESIZER userform version basic
'version avec api déclarées
'release 2020 for XLD
'****************************************************************************************************
Option Explicit
#If VBA7 Then
#If Win64 Then
Public Declare PtrSafe Function SetWindowLongPtr Lib "user32" Alias "SetWindowLongPtrA" ( _
ByVal hWnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#Else
Public Declare PtrSafe Function SetWindowLongPtr Lib "user32" Alias "SetWindowLongA" ( _
ByVal hWnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#End If
Public Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Public Declare PtrSafe Function ShowWindow Lib "user32" ( _
ByVal hWnd As LongPtr, ByVal nCmdShow As Long) As Long
Public Declare PtrSafe Function GetActiveWindow Lib "user32" () As LongPtr
#Else
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function ShowWindow Lib "user32" ( _
ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Public Declare Function GetActiveWindow Lib "user32" () As Long
#End If
Dim OldW#, OldH#
Sub trois_boutons() 'ajoute les 3 boutons et le resize dynamique à l'userform
Dim hWnd&
hWnd = GetActiveWindow
SetWindowLongPtr hWnd, -16, &H94CF0080 'api SetWindowLongA
End Sub
Sub NoTitleBar() 'supprime la barre de titre( rempli absolument tout l'ecran
Dim hWnd&
hWnd = GetActiveWindow
SetWindowLongPtr hWnd, -16, &H140F0101
End Sub
Sub SameSizeApplication(usf) 'taille et position identique à l'application
With Application
usf.Move .Left, .Top, .Width, .Height
End With
End Sub
Sub UsfFullScreen() 'met le userform en plein ecran
Dim hWnd&
hWnd = GetActiveWindow
ShowWindow hWnd, 3
End Sub
Sub memoControlSize(usf) 'on memorise dans le tag des controls leur position et dimension
Dim CtrL
OldW = usf.Width
OldH = usf.Height
For Each CtrL In usf.Controls
CtrL.Tag = CtrL.Left & ";" & CtrL.Top & ";" & CtrL.Width & ";" & CtrL.Height
On Error Resume Next
CtrL.Tag = CtrL.Tag & ";" & CtrL.Font.Size
CtrL.Tag = CtrL.Tag & ";"
Err.Clear: On Error GoTo 0
If TypeName(CtrL) = "ListBox" Or TypeOf CtrL Is ListBox Then
CtrL.Tag = CtrL.Tag & ";" & Replace(CtrL.ColumnWidths, ";", "|")
End If
CtrL.Tag = CtrL.Tag & ";"
Next
End Sub
Sub resiZer(usf)
Dim newW#, NewH#, t, cw$, tc, CtrL, i&
newW = usf.Width / OldW
NewH = usf.Height / OldH
For Each CtrL In usf.Controls
t = Split(CtrL.Tag, ";")
CtrL.Move t(0) * newW, t(1) * NewH, t(2) * newW, t(3) * NewH
If TypeName(CtrL) = "ListBox" Or TypeOf CtrL Is ListBox Then
If CtrL.ColumnWidths = "" Then cw = Application.Rept("80", CtrL.ColumnCount) Else cw = CtrL.ColumnWidths
tc = Split(t(6), "|")
For i = 0 To UBound(tc): tc(i) = Val(tc(i)) * Application.Min(newW, NewH): Next
CtrL.ColumnWidths = Join(tc, ";")
End If
On Error Resume Next
CtrL.Font.Size = t(4) * Application.Min(newW, NewH)
Err.Clear: On Error GoTo 0
Next
End Sub
Voilà, encore un qui pense avoir les poumons plus oxygénés que les autres.Ca c'est un pléonasme 🙂
We use cookies and similar technologies for the following purposes:
Est ce que vous acceptez les cookies et ces technologies?
We use cookies and similar technologies for the following purposes:
Est ce que vous acceptez les cookies et ces technologies?