If i = 99 Then
LblCha.Caption = "Chargement terminé"
i = 0
Timer2.Enabled = True
Timer.Enabled = False
End If
Prog.Value = Prog.Value + 1
i = i + 1
LblAva.Caption = Prog.Value & "%"
End Sub
Private Sub Timer2_Timer()
If i = 2 Then
End
End If
i = i + 1
End Sub
petite précision: le premier code a été taper dans VBA de Excel, le code de
la progress bar a été récupéré sur VBfrance....
il y'a une référence a un timer, mais je ne le vois pas de disponible dans
les userform de Excel.....
si quelqu'un possede une progress bar qui fonctionne dans excel et qui peut
s'adapter a mon code, JE SUIS PRENEUR ;-) !!!!!!!!!!
Merci beaucoup d'avance, c'est un plaisir d'evoluer parmis vous !!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
J-Dan
salut Hervé,
puisque les liens proposés par Clément ne t'ont pas inspiré, je te propose ceci : (je pars du principe que tu es sous Excel97 et que tu ne disposes pas de contrôle progressbar)
1) tu crées un Userform que tu nommes progbar dans lequel tu positionnes un label 2) tu lui donnes une forme allongée qui ressemble à une barre de progression. 3) tu colories le label (propriété BackColor) 4) dans le module du UserForm,(pour y acceder, tu fais un clic droit sur le Userform et tu selectionnes Code), tu copies ceci :
Private Sub UserForm_Activate() Macro30 End Sub
5) dans un module standard tu copies ceci :
Sub demarre() progbar.Show End Sub
6) tu modifies le code de ta macro comme suit :
Sub Macro30()
Dim i As Long, j As Long ProgressLargeur = progbar.Label1.Width Application.ScreenUpdating = False progbar.Label1.Width = 0
j = 1 Application.Calculation = xlCalculationManual ' si applicable
With Worksheets("Feuil1") For i = 1 To 33440 Step 10 .Rows(i).Copy Worksheets("Feuil2").Rows(j) j = j + 1 progbar.Label1.Width = (i / 33440) * ProgressLargeur DoEvents Next Unload progbar
End With Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic ' si applicable End Sub
' Rows("33405:33464").Select 'Selection.Delete Shift:=xlUp ' Selection.AutoFilter Field:=1 ' Selection.AutoFilter Dim i As Long, j As Long j = 1 Application.Calculation = xlCalculationManual ' si applicable
Application.ScreenUpdating = False With Worksheets("Feuil1") For i = 1 To 33440 Step 10 .Rows(i).Copy Worksheets("Feuil2").Rows(j) j = j + 1 Next End With Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic ' si applicable
End Sub
et je voudrai le lié à cette progress bar mais je sais pas comment m'y
If i = 99 Then LblCha.Caption = "Chargement terminé" i = 0 Timer2.Enabled = True Timer.Enabled = False End If Prog.Value = Prog.Value + 1 i = i + 1 LblAva.Caption = Prog.Value & "%"
End Sub
Private Sub Timer2_Timer()
If i = 2 Then End End If i = i + 1
End Sub
petite précision: le premier code a été taper dans VBA de Excel, le code de
la progress bar a été récupéré sur VBfrance....
il y'a une référence a un timer, mais je ne le vois pas de disponible dans
les userform de Excel.....
si quelqu'un possede une progress bar qui fonctionne dans excel et qui peut
s'adapter a mon code, JE SUIS PRENEUR ;-) !!!!!!!!!!
Merci beaucoup d'avance, c'est un plaisir d'evoluer parmis vous !!!
.
salut Hervé,
puisque les liens proposés par Clément ne t'ont pas
inspiré, je te propose ceci : (je pars du principe que tu
es sous Excel97 et que tu ne disposes pas
de contrôle progressbar)
1) tu crées un Userform que tu nommes progbar dans lequel
tu positionnes un label
2) tu lui donnes une forme allongée qui ressemble à une
barre de progression.
3) tu colories le label (propriété BackColor)
4) dans le module du UserForm,(pour y acceder, tu fais un
clic droit sur le Userform
et tu selectionnes Code), tu copies ceci :
Private Sub UserForm_Activate()
Macro30
End Sub
5) dans un module standard tu copies ceci :
Sub demarre()
progbar.Show
End Sub
6) tu modifies le code de ta macro comme suit :
Sub Macro30()
Dim i As Long, j As Long
ProgressLargeur = progbar.Label1.Width
Application.ScreenUpdating = False
progbar.Label1.Width = 0
j = 1
Application.Calculation = xlCalculationManual ' si
applicable
With Worksheets("Feuil1")
For i = 1 To 33440 Step 10
.Rows(i).Copy Worksheets("Feuil2").Rows(j)
j = j + 1
progbar.Label1.Width = (i / 33440) * ProgressLargeur
DoEvents
Next
Unload progbar
End With
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic ' si
applicable
End Sub
' Rows("33405:33464").Select
'Selection.Delete Shift:=xlUp
' Selection.AutoFilter Field:=1
' Selection.AutoFilter
Dim i As Long, j As Long
j = 1
Application.Calculation = xlCalculationManual ' si
applicable
Application.ScreenUpdating = False
With Worksheets("Feuil1")
For i = 1 To 33440 Step 10
.Rows(i).Copy Worksheets("Feuil2").Rows(j)
j = j + 1
Next
End With
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic '
si applicable
End Sub
et je voudrai le lié à cette progress bar mais je sais
pas comment m'y
If i = 99 Then
LblCha.Caption = "Chargement terminé"
i = 0
Timer2.Enabled = True
Timer.Enabled = False
End If
Prog.Value = Prog.Value + 1
i = i + 1
LblAva.Caption = Prog.Value & "%"
End Sub
Private Sub Timer2_Timer()
If i = 2 Then
End
End If
i = i + 1
End Sub
petite précision: le premier code a été taper dans VBA
de Excel, le code de
la progress bar a été récupéré sur VBfrance....
il y'a une référence a un timer, mais je ne le vois pas
de disponible dans
les userform de Excel.....
si quelqu'un possede une progress bar qui fonctionne
dans excel et qui peut
s'adapter a mon code, JE SUIS PRENEUR ;-) !!!!!!!!!!
Merci beaucoup d'avance, c'est un plaisir d'evoluer
parmis vous !!!
puisque les liens proposés par Clément ne t'ont pas inspiré, je te propose ceci : (je pars du principe que tu es sous Excel97 et que tu ne disposes pas de contrôle progressbar)
1) tu crées un Userform que tu nommes progbar dans lequel tu positionnes un label 2) tu lui donnes une forme allongée qui ressemble à une barre de progression. 3) tu colories le label (propriété BackColor) 4) dans le module du UserForm,(pour y acceder, tu fais un clic droit sur le Userform et tu selectionnes Code), tu copies ceci :
Private Sub UserForm_Activate() Macro30 End Sub
5) dans un module standard tu copies ceci :
Sub demarre() progbar.Show End Sub
6) tu modifies le code de ta macro comme suit :
Sub Macro30()
Dim i As Long, j As Long ProgressLargeur = progbar.Label1.Width Application.ScreenUpdating = False progbar.Label1.Width = 0
j = 1 Application.Calculation = xlCalculationManual ' si applicable
With Worksheets("Feuil1") For i = 1 To 33440 Step 10 .Rows(i).Copy Worksheets("Feuil2").Rows(j) j = j + 1 progbar.Label1.Width = (i / 33440) * ProgressLargeur DoEvents Next Unload progbar
End With Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic ' si applicable End Sub
' Rows("33405:33464").Select 'Selection.Delete Shift:=xlUp ' Selection.AutoFilter Field:=1 ' Selection.AutoFilter Dim i As Long, j As Long j = 1 Application.Calculation = xlCalculationManual ' si applicable
Application.ScreenUpdating = False With Worksheets("Feuil1") For i = 1 To 33440 Step 10 .Rows(i).Copy Worksheets("Feuil2").Rows(j) j = j + 1 Next End With Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic ' si applicable
End Sub
et je voudrai le lié à cette progress bar mais je sais pas comment m'y
If i = 99 Then LblCha.Caption = "Chargement terminé" i = 0 Timer2.Enabled = True Timer.Enabled = False End If Prog.Value = Prog.Value + 1 i = i + 1 LblAva.Caption = Prog.Value & "%"
End Sub
Private Sub Timer2_Timer()
If i = 2 Then End End If i = i + 1
End Sub
petite précision: le premier code a été taper dans VBA de Excel, le code de
la progress bar a été récupéré sur VBfrance....
il y'a une référence a un timer, mais je ne le vois pas de disponible dans
les userform de Excel.....
si quelqu'un possede une progress bar qui fonctionne dans excel et qui peut
s'adapter a mon code, JE SUIS PRENEUR ;-) !!!!!!!!!!
Merci beaucoup d'avance, c'est un plaisir d'evoluer parmis vous !!!