Il faut faire un wrapper pour AddressOf, car tu ne peux pas l'utiliser directement dans un appel d'API, qui attend un Long.
' Fonction : GetFuncAdr
' Auteur : Christophe RENAUD
' Objet : Retourne l'adresse d'une fonction. En effet, le mot-clé 'AddressOf' ne peut être utilisé directement
' Arguments : ByVal Adr As Long : Adresse de la fonction
' Retour : Long : L'adresse de la fonction
'
Private Function GetFuncAdr(ByVal Adr As Long) As Long
' C'est idiot mais totalement indispensable
GetFuncAdr = Adr
End Function
Et tu t'en sert comme cela :
SetTimer(..., ..., ..., GetFuncAdr(AddressOf Le nom de ta fonction))
Il n'y a pas de fonction plus con de GetFuncAdr, mais la syntaxe de AddressOf la rend obligatoire : Ceci est du au fait que, en VB, AddressOf est un opérateur et non pas une fonction (pas de parenthèses). Et une API ne peut recevoir un Opérateur en tant que argument.

Christophe R