Bonjour comme l'indique le tite de ma discussion, j'i fichier Excel remplie d'informations bien évidemment, je veux lire le nombre de lignes et colonnes de ce fichier. le problème c'est que je ne récupère pas le nombre exacte. voila le code
dans le config
la lecture du fichier Excel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <appSettings > <add key="Path" value="C:\Projets\app\" /> <add key="file" value="fichier_excel.xls"/> <add key="pathFile" value="Doc\fichier_excel.xls"/> </appSettings>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Public Function OpenExcelFile(ByVal Vis As Boolean) As Object Appli = New Excel.Application Dim TClasseur As Excel.Workbook = Nothing 'Dim TFeuille As Excel.Worksheet = Nothing ' Dim TFeuille1 As Excel.Worksheet = Nothing ' Dim NameSheet As String = Nothing ' Le nom de la feuille ' Dim cpt As Integer = Nothing ' variable pour comptage ' Dim tabSheet() As String = Nothing Dim ouvr As Boolean = False Dim dir As String = path & Namefile Appli.Visible = Vis ' Application visible Appli.DisplayAlerts = False ' Inactivation des alertes ' Ouverture du classeur Try If File.Exists(dir) Then Appli.Workbooks.Open(dir) ' Initialisation Classeur et Feuille Excel TClasseur = CType(Appli.Workbooks(1), Excel.Workbook) ouvr = True Else ouvr = False End If 'ouvrirClasseur = ouvr Catch ex As Exception End Try Return TClasseur End Function
la méthode du calcul nombre de lignes et colonne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Public Sub OuvrirFeuille(ByVal name As String, ByRef TClasseur As Excel.Workbook, ByRef TFeuille As Excel.Worksheet, ByRef indHaut As Object, ByRef indBas As Object, ByRef indGauche As Object, ByRef indDroite As Object) ' Dim indGauche As Integer 'Dim indDroite As Integer TFeuille = Nothing TFeuille = CType(TClasseur.Worksheets(name), Excel.Worksheet) ' TFeuille.Range("A1").CurrentRegion.Select() 'on prend connaissance de la taille du tableau a importer Dim i As String indGauche = TFeuille.Range("A1").End(XlDirection.xlToLeft).Column.ToString 'premier index des colonnes indDroite = TFeuille.Range("A1").End(XlDirection.xlToRight).Column.ToString 'dernier index des colonnes indHaut = TFeuille.Range("A1").End(XlDirection.xlUp).Row.ToString 'premier index des lignes indBas = TFeuille.Range("A1").End(XlDirection.xlDown).Row.ToString 'dernier index des lignes End Sub
l'appel des fonctions:
par la suite he recupere indHaut, indBas, indGauche et indDroite via d'autres variables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim TClasseur As Excel.Workbook = Nothing TClasseur = GetGeneralFunction.OpenExcelFile(False) If IsNothing(TClasseur) Then System.Threading.Thread.CurrentThread.CurrentCulture = CurrentCI ClaculTargetfactorHIstoriqueAndGeneric = False Exit Function End If GetGeneralFunction.OuvrirFeuille("STATUS", TClasseur, TFeuille, indHaut, indBas, indGauche, indDroite) 'STATUS le nom de la feuille du calcul de Excel
Merci d'avance
Partager