Bonjour,

J'ai un fichier Excel (version 2007 32bits) avec du code VBA et des déclarations de variables... J'ai cependant besoin de le faire aussi tourner sur un Office 2016 64Bits...

Si j'ai bien compris... la déclaration des variables changent, il faudrait y ajouter la commande : "PtrSafe"

J'ai donc modifié le code, mais je n'arrive pas à le faire cohabiter avec le code du 2007...

J'ai trouvé ceci sur la toile, mais cela ne fonctionne pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
#If VBA7 Then
    Declare PtrSafe Function ...
#Else
    Declare Function ...
#End If
Pourriez-vous m'aider ? Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#If VBA7 Then
   Private Declare PtrSafe Function GetWindowLongA Lib "User32" _
  (ByVal hwnd As Long, ByVal nIndex As Long) As Long
 
Private Declare PtrSafe Function SetWindowLongA Lib "User32" _
  (ByVal hwnd As Long, ByVal nIndex As Long, _
  ByVal dwNewLong As Long) As Long
 
Private Declare PtrSafe Function FindWindowA Lib "User32" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
#Else
    Private Declare Function GetWindowLongA Lib "User32" _
  (ByVal hwnd As Long, ByVal nIndex As Long) As Long
 
Private Declare Function SetWindowLongA Lib "User32" _
  (ByVal hwnd As Long, ByVal nIndex As Long, _
  ByVal dwNewLong As Long) As Long
 
Private Declare Function FindWindowA Lib "User32" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
#End If
Ps : Sur Excel 2007, le code avec "PtrSafe" apparait en rouge...

Merci d'avance pour votre aide :-)
Bon week-end