Bonsoir,
J'ai une application sous Excel, qui charge un fichier héxa et qui le converti en décimal.
Le traitement dure environ 1 minute et je voudrais durant ce traitement afficher une progressBar.
Le Pb c'est que ma progressBar s'affiche, mais le curseur n'apparait pas et mon prog ne s'exécute pas.
ci-dessous le code, si cela ne suffit pas je peux envoyer le fichier Excel (compressé 260Ko, + un fichier exemple pour télécharger (16Ko).
Merci par avance pour votre aide
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 Sub workbook_open() Application.ScreenUpdating = False ' Désinstalle les macro complementaires AddIns("Solveur").Installed = False AddIns("Utilitaire d'analyse").Installed = False AddIns("Utilitaire d'analyse - VBA").Installed = False Range("d2:d6100").ClearContents Dim i As Long Dim caract As String * 1 Dim filebox As OPENFILENAME Dim fname As String Dim result As Long Range("D5") = "" With filebox .lStructSize = Len(filebox) .hInstance = 0 .lpstrFilter = "Calculateur Droit (m-dysd2 ou m-dysg2)" & vbNullChar & "m-dys*.din" & vbNullChar & _ "Calculateur Droit (DYSDD ou DYSDG)" & vbNullChar & "*.dys" & vbNullChar '& _ '"Tout fichier (*.*)" & vbNullChar & "*.*" & vbNullChar & vbNullChar .nMaxCustomFilter = 0 .nFilterIndex = 1 .lpstrFile = Space(256) & vbNullChar .nMaxFile = Len(.lpstrFile) .lpstrFileTitle = Space(256) & vbNullChar .nMaxFileTitle = Len(.lpstrFileTitle) .lpstrInitialDir = "A:\*\*dys*.din" & vbNullChar .lpstrTitle = "Selectionner le fichier à visualiser" & vbNullChar .flags = OFN_PATHMUSTEXIST Or OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY .nFileOffset = 0 .nFileExtension = 0 .lCustData = 0 .lpfnHook = 0 End With result = GetOpenFileName(filebox) If result <> 0 Then fichier1 = Left(filebox.lpstrFile, InStr(filebox.lpstrFile, vbNullChar)) ' - 1 Else End End If 'Progressbar.Show 'Progressbar.ProgressBar1.Max = 6002 'Progressbar.ProgressBar1.Value = 0 'Progressbar.Label2.Caption = "Traitement du fichier dysfonctionnement..." 'Progressbar.Repaint Chemin = Left(filebox.lpstrFile, Longueur - (Longueur - Posi)) 'Range("D5") = fichier1 Close Open fichier1 For Random As #1 Len = 1 On Error GoTo 0 ' convertion du fichier i = 2 While Not EOF(1) Get #1, , caract If EOF(1) Then GoTo fin chaine_convertie = Hex(Asc(caract)) If Len(chaine_convertie) = 1 Then chaine_convertie = "0" & chaine_convertie If Not EOF(1) Then Get #1, , caract If EOF(1) Then GoTo fin chaine_convertie = chaine_convertie & Format(Hex(Asc(caract)), "00") If Len(chaine_convertie) = 3 Then chaine_convertie = Mid(chaine_convertie, 1, 2) & "0" & Mid(chaine_convertie, 3) End If End If Range("'CRM'!D" & i) = "'" & chaine_convertie i = i + 1 'Progressbar.ProgressBar1.Value = Progressbar.ProgressBar1.Value + 1 'Progressbar.ProgressBar1.Value = Progressbar.ProgressBar1.Max 'Progressbar.Hide Wend fin: Close 'Installe les macros complémentaires AddIns("Solveur").Installed = True AddIns("Utilitaire d'analyse").Installed = True AddIns("Utilitaire d'analyse - VBA").Installed = True 'Sauvegarde For Each w In Application.Workbooks w.save Next w 'Messge terminé MsgBox "Traitement terminé" End Sub
Partager