Bonjour.
Non, dans la Sub mettez ByVal CBox As ComboBox, c'est tout.
L'assumé ByRef n'est pratiquement jamais pertinent pour un objet. Il faudrait déjà que ce soit une variable rigoureusement du même type qui soit transmise, et que la procédure soit chargée de l'initialiser par un Set à l'intention de la procédure appelante.
Votre problème vient probablement de ce que vous transmettez non pas l'adresse d'une ComboBox mais celle d'un OLEObject portant une ComboBox, ce qui n'est pas la même chose. ByVal donne à VBA l'occasion d'en extraire l'adresse de la ComboBox.