Bonjour,
Je développe un programme pour ma boîte sur le logiciel Visual Basic 2008 Express.
Je bloque sur un problème de détection du nombre de ligne dans un fichier ini.
Mon fichier Ini s'appelle Cassio.ini, il contient :
Le but étant d'aller chercher les lignes du tableau de congé du service correspondant au nom des employés du fichier ini.
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 [NomEmployésService1] Employé1=xxxxxxxx Employé2=xxxxxxxx Employé3=xxxxxxxx Employé4=xxxxxxxx Employé5=xxxxxxxx Employé6=xxxxxxxx Employé7=xxxxxxxx Employé8=xxxxxxxx [NomEmployésService2] Employé1=xxxxxxxx Employé2=xxxxxxxx Employé3=xxxxxxxx Employé4=xxxxxxxx Employé5=xxxxxxxx Employé6=xxxxxxxx Employé7=xxxxxxxx Employé8=xxxxxxxx [FichierExcel] Stat_Flux=c:\xxxxxxx.xls Planning_Congés=c:\xxxxxxx.xls
La connexion avec le fichier Excel est impeccable, j'ai fais l'incrémentation des colonnes, je detecte tout ce qu'il faut dans les cellules.
Il ne me reste plus qu'a obtenir le nombre d'employés du service pour effectuer quelque chose du genre :
Mais avec
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 For i = 0 To 120 For j = 1 To NbrSection If (x2WorkSheet.Cells("B" & i).Value = LireINI("[NomEmployésService1]", "Employé" & j)) Then 'Ma boucle de test sur les cellules de la ligne End If Next j Next i For i = 0 To 120 For j = 1 To NbrSection If (x2WorkSheet.Cells("B" & i).Value = LireINI("[NomEmployésService2]", "Employé" & j)) Then 'Ma boucle de test sur les cellules de la ligne End If Next j Next i
Et la je bloque.
Pour l'instant mon module contient la fonction :
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 Module MyModule Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As System.Text.StringBuilder, ByVal nSize As Integer, ByVal lpFileName As String) As Integer Function LireINI(ByVal Entete As String, ByVal Variable As String) As String Dim file = Application.StartupPath & "Cassio.ini" Dim Deff As String = "" Try Dim StrBuild As New System.Text.StringBuilder(90) Dim Ret As Integer = GetPrivateProfileString(Entete, Variable, Deff, StrBuild, 90, file) Return StrBuild.ToString Catch Return Deff End Try End Function Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer
J'arrive donc a lire une valeur d'une section mais aucune idée pour detecter le nombre de ligne d'une section.
Ce qui me permettrait de chercher des lignes Excel contenant chaque nom d'employé d'un service.
Un algo de ce que je voudrait faire serait :
J'ai eu beau chercher sur les tutos et autres, très peu parle de fichier ini et encore moins du problème en question.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Debut Lire Fichier ini NbrLigne = 0 Pour valeur[1] de Section1 jusqua valeur[max] de Section 1 Faire NbrLigne += 1 FPour Fin
Pouvez-vous m'aider ?
Partager