paramétrer une progressbar

  • Initiateur de la discussion Initiateur de la discussion cabsen
  • Date de début Date de début

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 !

cabsen

XLDnaute Junior
Bonjour le forum,

Mon problème du jour est le suivant :

Je souhaite paramétrer une barre de progression en fonction de l'avancement du traitement d'un nombre de cellules connu.

L'exemple que j'ai trouvé et que je joins provient du site microsoft et fonctionne bien (phénomène rare sous Excel X pour macintosh 😉). Il génère des nombres aléatoires dans un nombre de cellules fini et ajuste l'affichage de la barre de progression.

Dans mon cas, un fichier Excel réalise la synchronisation de 19198 cellules entre deux fichiers de structures identiques. Cette opération prend 2 minutes 21 secondes sur ma station de travail mais peut très bien varier en fonction de la mémoire disponible sur d'autres postes.

Je cherche comment remplacer le compteur du fichier d'exemple (qui compte des boucles) par un autre qui compterait les cellules sélectionnées depuis le début du processus de synchronisation.

Mon fichier travaille ainsi :
• mise à jour de 10 cellules sur une page d'accueil
• mise à jour de 369 cellules sur 52 feuilles semaines (52 boucles For i … Next i)

Je suppose que j'ai besoin d'une variable "n" qui passerait par les états suivants : 10, 379, 748… 19198 au fur et à mesure du travail et d'une formule de la forme 100 * n / 19198 pour mettre à jour ma barre de progression ?

Si quelqu'un voit une solution, je lui serais fort redevable 🙂

D'avance merci de m'avoir lu !
 

Pièces jointes

Re : paramétrer une progressbar

Bonjour le fil,

J'ai intégré les macros "Array UBound" dans mon fichier et j'obtiens l'alerte suivante :

Code:
Erreur d'exécution '9':
Indice en dehors de la plage

N'étant pas familiarisé avec la fonction UBound, j'ai du mal à interpréter le point d'arrêt sur la ligne Wks

Code:
For n = 0 To UBound(acopier) - 1
Workbooks("source.xls").Sheets("Sem " & i).Range(acopier(n)).Copy Destination:=Workbooks("version_new.xls").Sheets("sem" & i).Range(vers(n))
Next n

Je vais avoir besoin de vos lumières.

Merci 🙂
 
Re : paramétrer une progressbar

Bonjour,

J'ai fragmenté le bloc "S23;W47" en deux de la manière suivante :

… "S23:W35", "S26:W47") dans la variable "acopier"

et en modifiant

… "S23", "S36") dans la variable "vers"

Je n'ai pas plus de succès, le dernier bloc "S36" n'est pas copié vers le fichier de destination alors que les autres blocs de la même fonction Array ne posent pas de problème…

Si quelqu'un a une petite idée sur ce qui pourrait être la cause de ce problème, je suis prêt à essayer.

Merci !
 
Dernière édition:
Re : paramétrer une progressbar

Merci pierrejean,

Je venais à l'instant d'installer les compléments excel pour avoir accès à l'aide VBA : ce "-1" m'intriguait un peu 😉

En tout cas, merci mille fois, Array me faisait peur depuis toujours et je commence maintenant à l'apprivoiser en l'adaptant à d'autres fichiers. Le gain de temps est prodigieux !

Il ne me reste plus qu'à régler mon soucis de barre de progression même s'il est devenu moins "nécessaire" pour le cas présent…
 
Re : paramétrer une progressbar

bonjour cabsen

C'est la fonction ubound qui m'a induit en erreur
Je pensais qu'il s'agissait du nbre d'elements d'un tableau
Or c'est l'indice le plus haut
exemple: Si je declare tablo(2 to 10) ubound(tableau) me renverra 10 alors qu'il y a 9 elements dans le tableau
ce qui renvoie a l'eternel probleme des piquets et des intervalles (lol) !!!
 
- 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

B
  • Question Question
Microsoft 365 colorer une plage
Réponses
2
Affichages
970
bd.afaf
B
B
Réponses
4
Affichages
2 K
benoitoleron
B
P
  • Question Question
Réponses
3
Affichages
1 K
S
Réponses
14
Affichages
3 K
saphya
S
V
Réponses
2
Affichages
2 K
vynmarius
V
B
Réponses
8
Affichages
2 K
Benjy51190
B
Retour