About the Mod 7. I've checked your question and saw what I feel is a bug in VB. The Mod 7 should map to a value between 0 and 6 always, ..,-7,0,7,14,21,.. Mod 7 = 0; ..,-6,1,8,15,22,.. Mod 7 = 1; ...; ..-1,6,13,20,27,.. Mod 7 = 6. However VB calculates -1 Mod 7 =-1!! This is clearly going...