Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA progress bar

Arpette

XLDnaute Impliqué
Bonjour à toutes et tous,

j'ai une macro dans module1 lancée par un un bouton en Feuil1. Cette macro prend environ une dizaine de minutes suivant les données chargées.

Je souhaiterais après avoir lancé la macro avoir un progress bar pour visualiser la progression du code.

J'ai recherché sur le forum, mais rien ne répond à mon attente.

En fonction des données chargées, je ne connais pas la durée, je souhaites juste avoir l'avancement du code.

Ex : quand j'ouvre le fichier, j'ai progress bar qui donne l'avancement de l'ouverture.

Merci pour votre aide,

@+
 

Paritec

XLDnaute Barbatruc
Re : VBA progress bar

Bonjour Arpette le forum
pour cela il faut traiter ton incrémentation avec la proportion de chargement, mais sans fichier difficile de t'en dire plus
a+
papou
 

Arpette

XLDnaute Impliqué
Re : VBA progress bar

Bonsoir Papou,

merci pour ta réponse, mais ma macro fait 50 MO et appelle d'autres fichiers, donc impossible à poster sur le forum.

Je peux mettre le code.

Merci de ton aide
@+
 

Paritec

XLDnaute Barbatruc
Re : VBA progress bar

Bonjour Arpette le forum
faute de fichier mets toujours le code je regarderai si je peux m'en sortir avec, mais pas sur enfin donnes le dans un fichier et je regarderai
a+
papou
 

Arpette

XLDnaute Impliqué
Re : VBA progress bar

Bonjour Papou, ci-joint un fichier avec le code dans le module1. Il n'y a aucune données. Le code ouvre, des feuilles puis fait des filtres.
Je souhaiterais avoir une barre de progression qui s'affiche quand je lance le traitement.

Merci de ton aide.
@+
 

Pièces jointes

  • Fichier Test.xlsm
    370.1 KB · Affichages: 150
  • Fichier Test.xlsm
    370.1 KB · Affichages: 140
  • Fichier Test.xlsm
    370.1 KB · Affichages: 146

Arpette

XLDnaute Impliqué
Re : VBA progress bar

Bonsoir à toutes et tous,
après plusieurs consultations sur le site, je ne trouve pas de réponse
Je ne comprend pas pourquoi, en lançant un module je ne peux pas avoir un progress bar alors que le timer me donne le temps d'exécution du module, suivant les données ou du PC utilisé.
Je ne comprend pas la question de Papou qui veut le code ( que je fasse 1+1 = 2 ou rechercheV, si tiiti = toto et que....)
Merci de votre aise,
@+
 

Habitude

XLDnaute Accro
Re : VBA progress bar

Bonjour

Voici une solution
1 variable public et 1 fonction

Code:
Public nbEtape As Integer
Function ETAPE(no, txt)
[H1] = txt
[H2] = String(Int(no / nbEtape * 25), "g")
Application.ScreenUpdating = True
Application.ScreenUpdating = False
End Function
Dans ton code
Tu détermine le nombre d'étapes
Code:
[H1] = "": [H2] = ""
nbEtape = 3
Ensuite, dans le code, tu marque les étapes
ETAPE 1, "Ouverture de GDMOperation.new"

ainsi de suite...¸

En H2, ca te prend une couleur de fond, une couleur de texte et la police Webdings.
J'ai établie la largeur de la colonne H pour 25 caractères. Évaluer dans
[H2] = String(Int(no / nbEtape * 25), "g")


A tester!!!!
 

Pièces jointes

  • Arpette.xlsm
    38.8 KB · Affichages: 113

Habitude

XLDnaute Accro
Re : VBA progress bar

Un fichier un peu plus concret.
Avec Combinaison.

J'ai appliquer la progression.
 

Pièces jointes

  • combinHabs.xlsm
    109.3 KB · Affichages: 131
  • combinHabs.xlsm
    109.3 KB · Affichages: 162
  • combinHabs.xlsm
    109.3 KB · Affichages: 147

Arpette

XLDnaute Impliqué
Re : VBA progress bar

Bonsoir Habitude, j'essaie d'appliquer ton code mais dès le début j'ai une erreur 11 ivision par 0
ici :

Code:
ActiveSheet.[G6] = String(Int(no / nbEtape * 25), "g")
Merci de aide,
@+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…