Adam, if the component opened lightweight - its model is not loaded. But you still can load the model into the memory without opening it in its own window (this provides great performance benefits). You can look at this code example which will return the IModelDoc2 from component regardless it has been loaded to memory or not: Get Model Doc From Lightweight Component
I solved by using the macro in this post : get a part or drawing custom property from assmbly
After that, I upgradet it with "Traverse Assembly at component Level Method" and "Manage components in case of Lightweight status"
Thank you both for your answers.