0/5 (2 avis)
Vue 28 504 fois - Téléchargée 4 114 fois
'A mettre au début dans la macro "lourde" Dim PctDone As Single 'Ceci est un exemple de macro pour laquelle j'ai utilisé ma barre de progression Sheets("Base de données").Select For a = 3 To 3000 Range("T" & a).Select If Selection <= Range("U1") Then Range("C" & a & ":D" & a).Select Selection.Copy Sheets("WorkSheet").Select With Range("C65536").End(xlUp).Offset(1, 0).Select ActiveSheet.Paste End With Sheets("Base de données").Select Range("K" & a).Select Selection.Copy Sheets("WorkSheet").Select With Range("E65536").End(xlUp).Offset(1, 0).Select ActiveSheet.Paste End With Sheets("Base de données").Select Range("L" & a).Select Selection.Copy Sheets("WorkSheet").Select With Range("G65536").End(xlUp).Offset(1, 0).Select ActiveSheet.Paste End With End If Sheets("Base de données").Select ' A partir de ce point j'incrémente PctDone ' Mise à jour du pourcentage (Itération / par le nombre max de ligne) PctDone = a / 3000 ' Appelle de la sous-routine qui met à jour la progressBar sur base du PctDone UpdateProgressBar PctDone Next a 'Fin de la macro d'exemple 'Code de la sous-routine Sub UpdateProgressBar(PctDone As Single) With ProgressBar ' Mise à jour du label. .FrameProgress.Caption = Format(PctDone, "0%") ' Afin de paramétrer la fin de la progressBar par rapport au frame .LabelProgress.Width = PctDone * _ (.FrameProgress.Width - 20) End With ' DoEvents autorisant au UserForm de ce mettre à jour DoEvents End Sub 'Voici le code de la userform Private Sub UserForm_Activate() ' Largeur de la progressBar à 0 ProgressBar.LabelProgress.Width = 0 ' Appelle de la sous-routine Call ventilation End Sub
7 nov. 2009 à 13:46
7 nov. 2009 à 11:32
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.