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 : 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
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
J'hésite notamment à rajouter une boucle FOR pour mes trois check.
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 '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
Est-ce rentable ? Est-ce justifié ?
Merci d'avance pour vos commentaires.
Partager