How can I program an Atmega32u4 over USB with this schematic?
You first need to program a USB bootloader onto the microcontroller using the ISP interface and a programmer. Only then will it understand how to load programs over USB. AVRs don't ship with a bootloader, they only have hardware support for bootloaders. If you have an ISP programmer (e.g. AVIRSPmkII, AVR Dragon, AVR ICE, etc) and wire a header up to the appropriate pins of the AVR, you could, in principle, burn the bootloader Arduino uses for the Leonardo onto your board.

I stand corrected. Excerpt from here. 


  The 8bits mega AVR with USB interface devices are factory configured
  with a USB bootloader located in the on-chip flash boot section of the
  controller.