riton00
XLDnaute Impliqué
Bonjour,
Suite à la casse de mon ancien ordinateur, j'en ai profiter pour m'en acheter un autre et repartir sur de nouvelles bases. Etant donné que j'avais à l'époque Excel 2007 je suis passé sur Excel 2021 64 bits, du coup sur un de mes fichier et que j'utilisais quotidiennement et que j'avais élaborer au fil du temps avec l'aide de contributeurs, aujourd'hui au lancement de mon fichier j'ai une erreur de compilation ci-dessous, que je n'arrive pas à résoudre vu mes basses compétences en VBA.
Erreur de compilation
"Le code contenu dans ce projet doit être mis à jour pour pouvoir être utilisé sur les systèmes 64 bits. Vérifiiez et mettez à jour les instruction Declare, puis marquez-les avec l'attribut PtrSafe"
Voici les instructions en rouge du code VBA qui me pose problème et Function est en surbriance
Public Declare Function GAW Lib "user32" Alias "GetActiveWindow" () As Long
'api pour appliquer le nouveau style a la fenetre (userform)
Public Declare Function SWLA Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'redessine la fenetre apres modification
Public Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Ci-dessous le code complet
Merci pour ceux qui pourrait m'aider
Cordialement
Suite à la casse de mon ancien ordinateur, j'en ai profiter pour m'en acheter un autre et repartir sur de nouvelles bases. Etant donné que j'avais à l'époque Excel 2007 je suis passé sur Excel 2021 64 bits, du coup sur un de mes fichier et que j'utilisais quotidiennement et que j'avais élaborer au fil du temps avec l'aide de contributeurs, aujourd'hui au lancement de mon fichier j'ai une erreur de compilation ci-dessous, que je n'arrive pas à résoudre vu mes basses compétences en VBA.
Erreur de compilation
"Le code contenu dans ce projet doit être mis à jour pour pouvoir être utilisé sur les systèmes 64 bits. Vérifiiez et mettez à jour les instruction Declare, puis marquez-les avec l'attribut PtrSafe"
Voici les instructions en rouge du code VBA qui me pose problème et Function est en surbriance
Public Declare Function GAW Lib "user32" Alias "GetActiveWindow" () As Long
'api pour appliquer le nouveau style a la fenetre (userform)
Public Declare Function SWLA Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'redessine la fenetre apres modification
Public Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Ci-dessous le code complet
VB:
Option Explicit
Public flag As Boolean
'
' capture le handle de la fenetre
Public Declare Function GAW Lib "user32" Alias "GetActiveWindow" () As Long
'api pour appliquer le nouveau style a la fenetre (userform)
Public Declare Function SWLA Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'redessine la fenetre apres modification
Public Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Sub ToucheEscape(Optional dummy As Byte)
'/// Procédure vide mais nécessaire pour le contrôle de la touche Escape (Echap) ///
End Sub
Sub PleinEcran() '*Affichage plein écran
SWLA GAW, -16, &H94080080: SWLA GAW, -20, &H0: DrawMenuBar GAW
Application.OnKey "{ESCAPE}", ""
With ActiveWindow
.DisplayHorizontalScrollBar = False 'Masque barre horizontal
.DisplayVerticalScrollBar = False 'Masque barre vertical
.DisplayWorkbookTabs = False 'Masque onglets
.DisplayHeadings = False 'Masque entetes ligne colonne
End With
With Application
.DisplayFullScreen = True 'afficher plein ecran
.DisplayFormulaBar = False 'Masque barre formule
End With
End Sub
Sub Normal() '*Rendre affichage Normal
SWLA GAW, -16, &H94CB0080: SWLA GAW, -20, &H0: DrawMenuBar GAW
Application.OnKey "{ESCAPE}"
With ActiveWindow
.DisplayHorizontalScrollBar = True 'afficher barre horizontal
.DisplayVerticalScrollBar = True 'afficher barre vertical
.DisplayWorkbookTabs = True 'afficher onglets
.DisplayHeadings = True 'afficher entetes ligne colonne
End With
With Application
.DisplayFullScreen = False 'Masque plein ecran
.DisplayFormulaBar = True 'afficher barre formule
End With
End Sub
Merci pour ceux qui pourrait m'aider
Cordialement