argh, I was so close from finding it! I had actually seen the ShapeRange, but I had not figured out how to use it in my code... I feel like I just lost the gold medal at the Olympics.

As for your comment "If Shp.TextFrame.HasText Then the Shape Is a textbox (***not always true)", I know indeed that there is another point to consider, i.e. if the box is only a shape that contains other textboxes... Don't ask. Yes, I also have messy documents with those (converted from some weird format. The layout is a nightmare). For those, I am playing with the line "If Shp.CanvasItems.Item(j).Type = msoTextBox Then"... I am not there yet in my code.

Thanks gmaxey, I will check your code a bit later, but from what I can tell, you got exactly what I need! I also hope you're glad I didn't have any "Selection" in my code!