il existe toujours dans excel une resource cache voyant la:
1/ derniere colonne vide de la feuille sur la ligne 1
1 2 3 4 5
| Dim rangeDepart As Excel.Range = Nothing
Dim rngVide As Excel.Range = Nothing 'range vide(derniere cellule vide)
rngDepart = FeuilleCourante.Cells(1,1).EntireRow 'selectionne toute la ligne à scanner
rngVide== rngDepart.SpecialCells(Excel.XlCellType.xlCellTypeBlanks, Excel.XlSpecialCellsValue.xlTextValues) ''derniere cellule vide de la ligne. |
-rngDepart.SpecialCells permet de retrouver le dernier range vide(cellule vide)
sur une ligne scanne
apres tu fais rngVide.Column qui donne le numero colonne vide.
dim numColVide as integer=rngVide.Column
2/derniere ligne vide de la feuille sur la colonne 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Dim rangeDepart As Excel.Range = Nothing
Dim rngVide As Excel.Range = Nothing 'range vide(derniere cellule vide)
rngDepart = FeuilleCourante.Cells(1,1).EntireColumn 'selectionne toute la colonne à scanner
rngVide== rngDepart.SpecialCells(Excel.XlCellType.xlCellTypeBlanks, Excel.XlSpecialCellsValue.xlTextValues) 'derniere cellule vide de la colonne.
apres tu fais rngVide.Row qui donne le numero ligne vide
dim numLigVide as integer=rngVide.Row
Dim itemx As ListViewItem
dim rngTravail as Excel.Range=Nothing
for i as integer =1 to numLigVide-1
itemx=new ListViewItem("LingeNum" & i)
for j as integer=1 to numColVide-1
rngTravail=Excel.Cells(i,j)
itemx.SubItems.Add(rngTravail.value.toString)
next
next |
si tu as remarque la methode traite tous les cas:
- nombre de colonnes n'est pas fixe
- nombre de lignes n'est pas fixe
le tout est de lui donner la cellule de depart de tes donnees ,dans l'exemple c'est (1,1) mais ca pourrait etre une cellule.
Partager