Re : Liste en cascade sous excel en VBA
Si les neurones pouvaient se copier comme un cd, je copierais le tien pour pouvoir parler le VBA et l'écrire !
Si je veux que ce userform s'affiche en mode non-modal (donc que je puisse continuer à remplir le doc excel en voyant le userform).
Je mets le code dans "this workbook - open" :
Private Sub Workbook_Open()
UserForm1.Show 0
End Sub
Cela fonctionne, mon userform se met dès que j'ouvre mon doc excel.
La question qui tue : je cherche à ne pas afficher la croix blanche sur fond rouge de mon userform.
J'ai cherché sur le et les forum (oui je n'aime pas demander de l'aide sans avoir trifouiller par moi même mais il faut savoir avouer mon incompétence...sans pour autant que j'abuse de tes connaissances).
J'ai trouvé le code suivant :
A mettre dans un module général:
Option Explicit
Declare Function GetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Transfer(6) As String
Sub OteCroix(UF As UserForm)
Dim hwnd As Long
'Enlève la croix rouge de l'UF
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") _
& "Frame", UF.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
End Sub
A mettre dans le userform
Private Sub UserForm_Initialize()
OteCroix Me
'.... code
End sub
Et bien il me met un bug dans la première partie pour la ligne :
Declare Function GetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long