You could of course make your second macro pause a predefined amount of time (e.g. 5 seconds) with "VC.Pause". Hopefully the loading is done after this time.
If you want to use the "page loaded trigger" it is much more tricky. I will try to explain what you could try (probably not the best way to do it):
1. create a third macro that is executed when the page is loaded. the macro should set a a variable (e.g. "loaded") to true.
2. edit your first macro so that variable "loaded" is set to false and a second variable (e.g. "first_loop") is set to true.
3. your second macro now needs two if-conditions: if the first is true (first_loop = true), set first_loop to false, set loaded to false, then do whatever your macro did before.
4. if the second condition is true (loaded = true) stop the macro using "VC.StopMacro"
5. now activate looping for this macro (e.g. max loops = 100 with delay of 100 ms)
Try at own risk, I'm not 100% sure it will work
p.s. with this method the first macro will continue and try to click even if the page is not loaded but the second macro did all its loops. you could add an if-block right after the "TriggerEvent"-command, which controlls the "loaded" variable and stops the macro (and maybe reports that the site could not be loaded by tts" if loaded = false.
p.p.s. I hope you can understand my explanation!