J'ajouterais quand même : Les variables destinées à contenir des adresses doivent être déclarées As LongPtr au lieu de As Long. Mais il n'y en a pas dans les Api utilisées me semble t-il.
Pour ne plus avoir l'avertissement, l'attribut PtrSafe doit se mettre juste après le mot clé Declare.