Why does the code need to be in a module? How many constituent controls are there on the Usercontrol?

For that you'd probably have to make your own control collection although that wouldn't be difficult.

You could either pass the controls collection as an object:

VB Code:
  1. 'in module
  2. Public Sub PassCol(obj As Object)
  3.     Dim ctrls As Object
  4.     Set ctrls = obj
  5.     Dim ctrl As Control
  6.     For Each ctrl In ctrls
  7.         MsgBox ctrl.Name
  8.     Next
  9. End Sub
  10.  
  11. 'in usercontrol
  12. PassCol Controls

Or if you don't want to use the generic object then put all the controls in your own collection:
VB Code:
  1. 'in module
  2. Public Sub PassCol(col As Collection)
  3.     Dim ctrls As Collection
  4.     Set ctrls = col
  5.     MsgBox ctrls.Count
  6. End Sub
  7.  
  8. 'in usercontrol
  9.     Dim col As New Collection
  10.     Dim ctrl As Control
  11.     For Each ctrl In Controls
  12.         col.Add ctrl
  13.     Next
  14.     PassCol col