Bonsoir mibri, Xmenpl,
tu as juste à copier / coller le code VBA de Xmenpl au début de Module1 :
Option Explicit
#If Win64 Then
Declare PtrSafe Sub Sleep Lib "Kernel32" (Byval dwMilliseconds As LongPtr)
#Else
Declare Sub Sleep Lib "Kernel32" (Byval dwMilliseconds As Long)
#EndIf
'mets ici la suite de ton code VBA
même si la ligne avec PtrSafe reste en rouge, ne t'en préoccupe pas : c'est normal ; ça compile quand même sans bloquer sur une erreur de compilation, et ça marchera en 64 bits et en 32 bits ; perso, je préfère utiliser :
Option Explicit
#If VBA7 Then
Declare PtrSafe Sub Sleep Lib "Kernel32" (Byval dwMilliseconds As LongPtr)
#Else
Declare Sub Sleep Lib "Kernel32" (Byval dwMilliseconds As Long)
#EndIf
'mets ici la suite de ton code VBA
VBA7 pour Office 2010 (ou version supérieure) ; et ça marche pour Windows 7 (ou ultérieur).
pour info, une ligne de code VBA qui commence par le caractère # est une directive de compilation : ça précise au compilaleur VBA comment il doit réagir ; cette directive de compilation peut être conditionnelle ou non.
dans le 2ème exemple, si la version de VBA utilisée est la 7 (cas des applications Office 64 bits, 2010 et ultérieur) alors le compilateur exécutera la 1ère ligne Declare (avec PtrSafe) ; sinon, il exécutera la 2ème ligne Declare (sans PtrSafe), pour VBA de version < 7 (cas des applications Office 32 bits, 2007 et antérieur).
dhany