Les macros étaient autrefois écrites dans un language qui n'a rien à voir avec le VB, et donc, le mot "macro" peut porter à confusion. Cela dépend desquelles on parle. Par ailleurs, c'est un terme un peu péjoratif, alors que VB permet de faire bien d'autres choses que de petites macros.
Le VB est une évolution du Basic de Microsoft.
Le VBA est le VB for Applications, c'est à dire que c'est le VB que l'on trouve dans Word, Excel, ou Access. En fait, cela fait plusieurs VBA différents.
Le VBS est le VB pour les Scripts.
Les différences entre tous ces VBs sont minimes ou importantes, selon que l'on voit les choses d'une manière globale ou détailée.
Un bon informaticien se doit de connaître plusieurs languages. Je conseillerais donc d'apprendre toutes les versions du VB si vous en avez la possibilité, ou bien celle que vous avez sous la main, par exemple le VBS, qui est un peu méconnu, mais qui pourtant permet de faire beaucoup de choses intéressantes et qui est là pour longemps.
Aller voir par exemple http://www.microsoft.com/technet/s [...] fault.mspx