Barre de progression pour enregistrement fichier partagé

Bonjour,

Nous utilisons actuellement un classeur avec l'option de "fichier partagé" activée afin de travailler à plusieurs sur le classeur. Dans la fenêtre de partage, j'ai indiqué à Excel d'effectuer un enregistrement du classeur toutes les 5 minutes (c'est le minimum possible).

Pour rappel :

L'enregistrement des données dans un classeur partagé permet de partager aux autres utilisateurs ses saisies et d'afficher celles des autres utilisateurs.

J'aimerais (je sais pas si c'est possible) animer l'enregistrement de mon fichier avec une barre de progression (de 0 à 100%) qui matérialisera pour les utilisateurs une sorte de mise à jour du fichier.

Si possible, avoir une déclaration qui empêche la msgbox avec barre de progression de s'afficher lorsqu'une autre procédure (macro) est en cours.

Merci d'avance pour votre aide.

Baptiste

EDIT : Je suis tombé sur ce Tutoriel qui indique comment faire une barre de progression.

https://www.excel-pratique.com/fr/astuces_vba/progress_bar.php

Toutefois, est-il possible d'adapter le code de l'USF pour ne pas compléter les cellules de ma feuille de calcul à la fin de la procédure ?

Merci par avance,

Baptiste.

Bonsoir Horusbk,

Voici un exemple de barre de progression simple. Elle n'utilise qu'une cellule sur la feuille.

Bien entendu cela tiendrais plus ici du gadget... Mais peut servir pour tout autre besoin.

On peut travailler sur le classeur. La barre n'apparaît qu'au moment d'un changement de cellule de la part

de l'utilisateur.

Bons tests, bonne continuation dans cette nouvelle année.

44progressbarre.xlsm (36.62 Ko)

Bonsoir X Cellus

Merci pour ta réponse, tous mes voeux pour 2020 !

Mes excuses pour cette réponse tardive, j'ai eu un léger problème avec mon compte sur le forum (verrouillage après changement d'email).

J'ai deux questions à te poser concernant ton fichier :

  • Pour la cellule utilisée par la macro, peut-elle accepter n'importe quelle valeur ?
  • Est-ce normal que le chiffre en % de la progressbar reste à 50% ?
200104061658609152

Bon wekeend.

Horusbk

Bonsoir Horusbk,

Tous mes vœux aussi pour cette année 2020.

La cellule dans l'exemple (A1) est adapté à ton besoin concernant un temps. C'est donc une date & horaire qui s'inscrit mais dans le format nombre Excel. Par contre elle peut représenter un nombre (score, montant…) si tu cherches une différence de ce type. Par exemple tu souhaites sauver dans un tableau le plus haut score d'un participant à un jeu. Et tu veux le lui faire savoir à chaque fois qu'il améliore son score par le lancement d'une barre de progression. Ou idem pour un commercial avec l'amélioration d'un Chiffre d'affaire, d'un nombre de ventes… Donc tous ce qui peut présenter une différence entre deux variables.

Ensuite j'ai posté un exemple simple de barre. Le fait d'enregistrer un fichier est rapide sauf dans des cas particuliers avec plusieurs fichiers importants. Ou cela demanderait un peu plus de temps. Ici c'est plus un marqueur central.

Mais je joins à ce message la même barre mais avec la progression du chiffre. Il suffit de changer un peu le code.

Bon Week-end.

Bonjour à tous ....

Une progressbar on ne peut plus simple !

Il suffit de mettre le % en A1

Bonjour Steelson, X Cellus,

Merci pour votre aide

X cellus, je suis d'accord ça fait un peu gadget mais je trouve aussi que visuellement pour les utilisateurs ça montre que quelque chose est en cours.

Je pense que je vais l'utiliser pour montrer l'enregistrement d'un fichier :

Ensuite j'ai posté un exemple simple de barre. Le fait d'enregistrer un fichier est rapide sauf dans des cas particuliers avec plusieurs fichiers importants. Ou cela demanderait un peu plus de temps. Ici c'est plus un marqueur central.

J'imagine qu'une fois la barre de progression terminée il suffit de lancer un Thisworkbook.save ? Ou, on peut les imbriquer de sorte que la barre de progression soit reliée au temps mis par Excel pour effectuer l'enregistrement ?

Bonsoir Horusbk,

Il y a trois possibilités. Selon le temps que prendras la sauvegarde et s'il existe au delà d'un simple code de sauvegarde des opérations qui sont plus ou moins exécutées avant.

Dans le cas ou c'est un enregistrement simplement rapide du fichier. Le faire donc soit avant ou après la macro de la barre de progression. Une à deux secondes maximum d'enregistrement passe(nt) inaperçue(s) pour l'utilisateur.

Si il y a avant la sauvegarde certaines opérations nécessaires qui marquent, ou opèrent quelques vérifications avant d'effectuer l'enregistrement du fichier. Elles peuvent être intégrées dans la macro après la ligne DoEvents et avant celle de Sleep 100 de la boucle For intIndex… Next. Et en fonction de leur temps d'exécution, modifier + - la valeur qui suit l'instruction Sleep.

A toi de tester, le schéma de cette macro est adaptable à plusieurs cas de figure et même plusieurs formes de barres de progression. Là, c'est la plus courante.

Bonne continuation.

D'accord je comprends mieux ! Merci de tes recommandations et conseils

En cas de problème je ferais signe dans le sujet, en tout cas, pour l'instant tu as résolu mon problème !

Merci beaucoup

Horusbk

Rechercher des sujets similaires à "barre progression enregistrement fichier partage"