Barre de progression de Sébastien Mathier

Bonjour,

Je cherche depuis quelques temps à intégrer la barre de progression, très bien faite, de Sébastien Mathier dans une de mes applications.

Cette application permet de rajouter des lignes en bas d'un tableau Excel, avec de multiples mises en forme (Quadrillage, Police, Couleurs de fond, etc.). Comme il peut y avoir beaucoup de lignes à ajouter et que mon tableau doit avoir une centaine de colonnes, forcément ça rame. Ca rame (un peu) avec un Vaio i7, alors avec un PC plus bas de gamme, c'est presque insupportable (LOL ! ).

J'imagine que le remplissage ( Cells(ligne, col) = ligne + col ) des 250.000 cellules du codes de Sébastien peut (et doit) être remplacé par le code dont on a besoin de surveiller la progression (histoire d'aider à patienter ! ). Mais a-t-on besoin des deux boucles imbriquées, bien adaptées aux 5000x50 cellules, ou une seule pourrait-elle suffire ? De plus, les 100 % de la barre doivent correspondre à mon nombre de lignes à ajouter, et cette valeur est évidemment variable. Ce qui n'est pas le cas du modèle de code de Sébastien pour qui les 100 % correspondent systématiquement aux 250.000 cellules remplies par la double boucle For Next.

Je n'arrive donc pas à adapter la ou les boucles pour obtenir ce que je recherche. Le mieux que j'ai obtenu c'est le nombre de lignes ajoutées (essais avec une demande de 3 lignes). Pouvez-vous m'aider svp sur le fichier joint ? Fichier réduit au strict minimum pour des raisons de confidentialité, mais qui a tout ce qu'il faut pour que je puisse transposer ensuite dans mon application.

D'avance, je vous en remercie. Et vous souhaite une bonne soirée.

Bonsoir,

la Barre de progression en couleur devrait avoir une longueur finie de 150.
la progression de sa longueur ne doit pas être égale à 1, car si vous ajoutez 20 lignes elle aura grandi de 10 soit 150/10 soit 15% et non pas 100%

Il vous faut calculer la valeur de progression en fonction du nombre de ligne comme cela la barre s'agrandie de 150/nb ligne à ajouter, donc pour 20 lignes la progression n'est pas de 1 mais de 150/20, soit 7.5, et une fois les 20 lignes passées la barre aura grandie de 20 x 7.5 = 150 = 100%

@ bientôt

LouReeD

Bonjour LouReeD, Catroun,

avec la macro "Sub AjoutLignes2" vous n'avez pas besoin d'un barre de progression. Il y a une plage nommée "Lignes_Vides"

Bonsoir BsAlv !

Je viens de me rendre compte que j'ai oublié de mettre le commentaire que le code était peut-être à revoir ! merci pour lui !

@ bientôt

LouReeD

Bonsoir,

ci-jointe une proposition pour la barre de progression

Bonsoir LouReed, BsAlv, thev,

et merci pour vos différentes réponses qui vont assurément me permettre de résoudre mon problème. Il me faut le temps de regarder de près car le novice en VBA que je suis n'y comprend pas encore grand chose, même si vos propositions fonctionnent. Trois mois de VBA, c'est en somme assez court pour tout appréhender... Et merci au Forum qui permet de progresser tous les jours.

J'apprends tous les jours, et c'est ce qui rend le VBA passionnant, car parfois mystérieux !

Bonne soirée. A bientôt sur le Forum, pour une nouvelle leçon à recevoir...

Bonjour,

merci pour vos remerciements ! Bien que ma solution n'a pas fait l'objet du résultat escompté...
Souvent je me cantonne à répondre à la question posée, alors cela avait il eu pour effet de faire fonctionner la barre ? Mais si cette dernière est devenue inutile ?

@ bientôt

LouReeD

re,

Mais si cette dernière est devenue inutile ?

Ma solution durait quelque secondes, donc le barre de progression n'était plus nécessaire parce qu'on ajoute x lignes en même temps, mais apparament on préfère un boucle ...

Rechercher des sujets similaires à "barre progression sebastien mathier"