XL 2013 Barre de progression.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

babastioun

XLDnaute Nouveau
Bonjour à toutes et tous. Habituellement j'arrive à trouver mon bonheur au travers des différentes discussions que je trouve sur ce forum.
Mais cette fois ci je n'y arrive pas, ou disons que je ne sais pas trop comment adapter ce que j'ai trouvé à ma situation.
Donc je me permet de créer cette discussion, afin de voir si qq'un peut m'aider dans ma recherche.
Le sujet est le suivant: A partir du fichier (voir fichier joint) que j'ai adapté à ma situation, celui ci crée des fichiers excel en fonction de ma base de donnée d'une feuille.
Au total, il y aura 24 fichiers (classeurs) à créer, avec chacun 2 feuilles remplies suivant 2 feuilles de données.
Bref ceci pour donner un peu le contexte, mais sur cette partie j'arrive à ce que cela fonctionne.
Ma question est que quand je click sur le bouton Test, cela lance la création de fichiers (23 dans mon exemple) et cela prends un peu de temps, mais surtout on ne voit pas ou cela en est ! Donc est ce possible de créer un barre de progression, ou d'afficher dans le statubar d'excel, l'état d'avancement de la création de ces nouveaux fichiers ?
Je vous mets en pièce jointe mon fichier qui m'a servi de base.
Je vous remercie pour vos réponses.
Bonne journée.
 

Pièces jointes

Bonjour babastioun, Fanfan,
Des progressbar, vous en trouverez une multitude alors difficile de choisir.
Un essai en PJ avec le status bar et un progressbar pour l'exemple.
Statusbar :
VB:
Application.StatusBar = "Progression : " & Format(i / lastRow, "0%")
Progressbar
Code:
USFPBP.PB lastRow, i
et voir userform USFPBP pour le code.
 

Pièces jointes

Bonjour Fanfan38, quelle rapidité. C'est tout à fait ce que je cherchais !🙂
Après qq copier/coller, ça fonctionne super bien dans mon fichier final.
Je te remercie énormément pour cette aide.
Quand on voit le résultat du code que tu m'as fait, cela semble simple, mais je n'aurai pas su m'en sortir ainsi. Tous ce que j'ai pu trouvé, ressemblaient à une usine à gaz !!!
Si toutefois tu as un peu de temps, pour mes connaissances personnel, est ce que tu pourrais me faire une petite traduction du code associé au userform, que j'essaye de comprendre la logique ?
Et aussi quelles sont les propriétés des éléments du userform qu'il faut avoir paramétrés ?
Parce que à la lecture du code, pour le moment je saisie pas le truc ! 🙁
Je te remercie.
Bonne journée à toi.
 
bonjour
pour le fun avec un userform et 3 labels

cela dit tu n'a pas vraiment besoins de tout ça , un simple msgbox à la fin et tu sais tout de suite quand c'est fini
Bonjour Patricktoulon,

Alors effectivement,un simple msgbox aurait pu suffire, mais j'y ai pas pensé !
Toutefois, comme la solution fanfan38, la tienne est forte intéressante aussi, avec l'affichage au fur et a mesure de ce qui s'enregistre.
Je vais voir ça, en tout cas un grand merci à vous tous, je vais pouvoir clore cette discussion comme résolue, mais je sais pas comment faire ?
Merci.
 
Bonjour babastioun, Fanfan,
Des progressbar, vous en trouverez une multitude alors difficile de choisir.
Un essai en PJ avec le status bar et un progressbar pour l'exemple.
Statusbar :
VB:
Application.StatusBar = "Progression : " & Format(i / lastRow, "0%")
Progressbar
Code:
USFPBP.PB lastRow, i
et voir userform USFPBP pour le code.
Bonjour merci à toi aussi Sylvanu, avec toutes vos réponse j'ai de quoi solutionner ma demande.
Encore merci et bonne journée.
 
Les seul truc à parametrer c'est
VB:
    barre_progresse.Show 0    'affichage de l'userform
    For i = 2 To lastRow
      barre_progresse.actualiser CInt(100 * i / lastRow) 'mise à jour de la bar de progression

La seul macro de l'userform
Code:
Sub actualiser(taux As Integer)
    Barre.Width = (taux * Barretexte.Width) / 100 'c'est une image qui s'appelle barre, with étant sa taille
    
    Barretexte = taux & "%" 'c'est le label qui est au dessus
    If taux = 100 Then Unload Me ' si maxi fermeture de l'userform
    DoEvents 'suspend la macro pour traiter la barre de progression
    End Sub

A+ François
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
220
  • Question Question
Microsoft 365 Mise en barre
Réponses
2
Affichages
588
Retour