critique du code source de mon programme
Bonjour à tous,
Je m'arrête un peu dans mon petit projet pour vous soumettre une partie de mon code source.
Comme le dev n'est pas mon job, je souhaite que vous regardiez ce que j'ai pondu pour que vous me donniez des voies d'explorations sur ce que je pourrais amélioré, notamment aussi au niveau des commentaires.
Voici ce qui ce passe quand je clique
Code:
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 43 44 45 46 47 48 49
|
Private Sub Image2_Click()
Dim i, fin_client, deb_contrat, fin_contrat, deb_support, fin_support, nb_feuille As Integer
If chemin <> "" Then
'Ouverture de l'application excel
Set appExcel = CreateObject("Excel.Application")
Set wbExcel = appExcel.Workbooks.Open(chemin)
'wsExcel correspond à la première feuille du fichier
'si l'utilisateur souhaite importer l'en cours par client
If Check1.Value = 1 Then
'Test pour savoir si les feuilles existe
If feuille_existe("en cours client") = False Then
Module1.ajout_feuille ("en cours client")
End If
End If
'si l'utilisateur souhaite importer l'en cours client par contrat
If Check2.Value = 1 Then
If feuille_existe("en cours client par contrat") = False Then
Module1.ajout_feuille ("en cours client par contrat")
End If
End If
'si l'utilisateur souhaite importer l'en cours client par support
If Check3.Value = 1 Then
If feuille_existe("en cours client par support") = False Then
Module1.ajout_feuille ("en cours client par support")
End If
End If
'On se positionne sur la dernière feuille (feuille tousclient)
nb_feuille = Sheets.Count
Set sheet = wbExcel.Worksheets(4)
Const deb_client = 1
Const cellule = 3
'parcours du tableau client
fin_client = parcours_tableau(deb_client, cellule)
deb_contrat = fin_client + 4
'parcours du tableau contrat
fin_contrat = parcours_tableau(deb_contrat, cellule)
deb_support = fin_contrat + 4
'parcours du tableau support
fin_support = parcours_tableau(deb_support, cellule) |
Voici mon module
Code:
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
|
'Déclaration des variables
Public appExcel As Excel.Application 'Application Excel
Public wbExcel As Excel.Workbook 'Classeur Excel
Public wsExcel As Excel.Worksheet
'Feuille Excel
Public sheet As Excel.Worksheet
Public nomtemp As String
Public chemin_temp As String
Public chemin_temp_port As String
Public exldoc2 As Object
Public exlapp2 As Object
Private Declare Function shellexecute Lib "shell32.Dll" (ByVal hwnd As Long, ByVal lpoperation As String, ByVal lpfile As String, lpparameters As String, ByVal lpdirectory As String, ByVal nshowcmd As Long) As Long
Public Sub ajout_feuille(nom_feuille As String)
Dim nb As Integer
'calcul le nombre de feuille avant d'ajouter
nb = Sheets.Count
'ajout feuille
Sheets.Add
Sheets("Feuil" & nb).Select
Sheets("Feuil" & nb).Name = nom_feuille
End Sub
Function parcours_tableau(ByVal deb As Integer, ByVal cellule) As Integer
'parcours du tableau client
While (sheet.Cells(deb, cellule).Value <> "")
deb = deb + 1
Wend
parcours_tableau = deb
End Function |
J'hésite notamment à rajouter une boucle FOR pour mes trois check.
Est-ce rentable ? Est-ce justifié ?
Merci d'avance pour vos commentaires.