Bonjour Victor,
Je ne répondrai que partiellement à ta question, pour ce qui concerne le choix des imprimantes tu peux reprendre le listing suivant :
Sub choix_imprimante()
Application.Dialogs(xlDialogPrinterSetup).Show
MsgBox "Imprimante Sélectionnée : " & Application.ActivePrinter
End Sub
Par ailleurs la première ligne de ton post m'intrigue, quelle différence fais-tu entre macro et VBA ? la macro c'est le programme et VBA c'est le language.
A bientôt
Rénato