Type defini par l'utilisateur non defini

Résolu/Fermé
Thierry - Modifié le 11 déc. 2021 à 14:16
 thierry - 11 déc. 2021 à 18:31
Bonjour Tout le monde,

Quelqu'un aurait la solution je suis bloqué

Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As StringPtr, ByVal lpWindowName As StringPtr) As Long

Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As LongPtr, ByVal nIndex As LongPtr) As Long
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As LongPtr, ByVal nIndex As LongPtr, ByVal dwNewLong As LongPtr) As Long
Private Declare PtrSafe Function DrawMenuBar Lib "user32" (ByVal hWnd As LongPtr) As Long

Private Sub UserForm_Initialize()
    On Error Resume Next
    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

L'erreur se situe sur le premier paragraphe, merci.

Configuration: Windows / Chrome 96.0.4664.93


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
11 déc. 2021 à 13:45
bonjour,
la première chose, c'est de déterminer de quel type il s'agit.
remplace les types par long, pour détecter lequel pose problème.
0
Bonjour,

Les type sont déjà en long, je ne vois pas de quel type il s'agit ?
Je suis novice en ce qui concerne les Macro trop complexe.
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Thierry
11 déc. 2021 à 16:30
Un type, c'est un mot qui suit "as". Moi, je ne vois pas que "long".

Tu es novice et tu as écrit cette macro relativement complexe?
0