How can i connect my Vms connect to each other over virtual private network in azure?
If the VMs are connected to the same virtual network, nothing else is required for them to talk to each other; they are by definition already connected (unless you have NSGs blocking traffic between them); this also applies to different subnets in the same VNet.
If the VMs are connected to different VNets, you need to set up a virtual network peering to connect the two VNets.
If you are not shown the option to connect a VM to a specific VNet when creating it, the reason usually is that the VM and the VNet are in different Azure regions; a VM can only be connected to a VNet in the same region.