1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| private int GetColumnCount(int i, int FirstColumnIndex, int LastColumnIndex, int MiddleColumnIndex)
{
if ((Range)this.m_Worksheet.Cells[i, MiddleColumnIndex] != null &&
((Range)this.m_Worksheet.Cells[i, MiddleColumnIndex]).Value2 != null)
{
if ((Range)this.m_Worksheet.Cells[i, MiddleColumnIndex + 1] != null &&
((Range)this.m_Worksheet.Cells[i, MiddleColumnIndex + 1]).Value2 == null)
{
// La ligne suivante n'est pas renseignée, le résultat est :
return MiddleColumnIndex;
}
else
{
// La ligne suivante est renseignée, rechercher dans l'intervalle supérieur :
return GetColumnCount(i,MiddleColumnIndex, LastColumnIndex, (int)Math.Ceiling((double)(MiddleColumnIndex + ((LastColumnIndex - MiddleColumnIndex) / 2))));
}
}
else
{
// La ligne n'est pas renseignée, rechercher dans l'intervalle inférieur :
return GetColumnCount(i,FirstColumnIndex, MiddleColumnIndex, (int)Math.Ceiling((double)(FirstColumnIndex + ((MiddleColumnIndex - FirstColumnIndex) / 2))));
}
} |
Partager