Comment creer une ProgressBar [Résolu]

Signaler
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
-
Messages postés
29620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
-
Bonjour à tous,

Donc je post un nouveau sujet en lien avec:
http://codes-sources.commentcamarche.net/forum/affich-10027846-modifier-a-nouveau-un-code-de-convertion-en-pdf

En faite j'ai commenté la ligne "MsgBox" a la fin du module "ToPdf", que je vous présente ci-dessous ainsi que sa boucle :

7 réponses

Messages postés
29620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
337
Bonjour,

1- Créer un USERFORM
2 - Y ajouter un objet : ProgressBar
3 - Coder pour adapter à tes besoins..

Tu as des exemples sur le net :
http://lmgtfy.com/?q=VBA+Excel+progressbar


Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
Salut Jordane45,

Donc merci pour le liens, j'y étais déjà allé... puis je sais me servir de google... merci...mdr (je dis ça pour la demo affichée), tout en rigolant biensure car tu as raison....

Je m'y colle ce soir...

En fait, peut être que je me pose trop de question, mais pour la barre de progression, elle agit uniquement en fonction d'une boucle ?

Christian

--
Messages postés
29620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
337
Bonjour,

elle agit uniquement en fonction d'une boucle ?
Oui en effet.

Il faut que tu ajoutes, dans ta boucle qui lance les conversion en PDF, l'incrémentation de ta progressbar.

Un truc du genre :
Sub exemple()


UserForm1.ProgressBar1.Max = 100
UserForm1.Show


nbToGo = 25 
For i = 1 To nbToGo
ValP = Int((i / nbToGo) * 100)
  UserForm1.ProgressBar1.Value = ValP
Next


End Sub


Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
Re, enfin bonsoir maintenant,

J'ai essayer le code pour la progressBar mais je dois mal m'y prendre,

c'est par ce code que j'appel mon module de convertion, j'essayer de placer le progressBar dedans mais rien...

Private Sub Cmd_PDF_Click()
Dim i As Byte
'boucle sur les éléments de la ListBox
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
feuil = ListBox1.List(i) 'nom de la feuille
Sheets(feuil).Select

ToPdf
End If
Next i

End Sub


Je cherche... on verra..

Merci a toi, bonne soirée

--
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
Bonjour Jordane45,

Donc voici ce que j'ai essayer... mais evidemment ça ne marche pas...grrr


Private Sub Cmd_PDF_Click()
Dim i As Byte
Dim j As Integer
'boucle sur les éléments de la ListBox
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
feuil = ListBox1.List(i) 'nom de la feuille
Sheets(feuil).Select
ToPdf
End If
ProgressBar.ProgressBar1.Max = 100
ProgressBar.Show
nbToGo = 25
For j = 1 To nbToGo
ValP = Int((j / nbToGo) * 100)
ProgressBar.ProgressBar1.Value = ValP

Next j
Next i

End Sub


Biensure il me manque encore des notions en VBA... juste des explications sur pourquoi ça veut pas... pour que je comprenne et ne refasse pas la même erreur.

Merci bonne journée

Christian
--
Messages postés
29620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
337
Hello,

Ce que je t'ai donné... c'est juste un exemple de fonctionnement.... pas le code tel quel à utilser..

Private Sub Cmd_PDF_Click()
    Dim i As Byte
    Dim j As Integer
    DIm nbToGo as integer
    
    nbToGo = ListBox1.ListCount - 1
    ProgressBar.ProgressBar1.Max = 100
    ProgressBar.Show

    'boucle sur les éléments de la ListBox
     For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
          feuil = ListBox1.List(i) 'nom de la feuille
          Sheets(feuil).Select
          ' Maj ProgressBar
          ValP = Int((i / nbToGo) * 100)
          ProgressBar.ProgressBar1.Value = ValP
          ToPdf
       End If
    Next 
    
End Sub

Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
Re,

Je me doutais, mais j'ai quand même essayé, mon erreur était la boucle For J... elle ne servait à rien alors... je vais aller reviser moi... c'est pas évident... j'ai commencé à assimiler quelque truc... il faut quand même savoir que c'est grace à vous le forum que j'ai débuté dans le VBA... et merci...

Mais je suis pas au top...

Peut tu m'expliquer un peu le fonctionnement de cette boucle (qui fait quoi a quel moment)...

c'est pour ma connaissance... enfin... tu m'as compris...lol

Un grand merci...

Christian

--
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
Les USF suivant sont ShowModal = False (après reflection et correction)

To_PDF (ne pas confondre avec le module de convertion "ToPdf")
ProgressBar

ça fonctionne, je vais essayer de la personnaliser maintenant...

Il faut également que je trouve comment eviter ce message : "impression de ...." dans le module "ToPdf", surement une ligne à commenter je pense ?
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
Merci pour ton aide, c'est super sympas... c'est même plus qu'une aide, tu as fait le boulot !!

Mais c'est super sympas de ta part...

Amicalement

Christian
Messages postés
29620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
337
Y'a pas de quoi.
Par contre;.. si ton souci est traité...penses à mettre le sujet en résolu ( lien "Marquer comme résolu" qui se situe sous le titre de ta question)
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
C'est fait :)

A bientôt sur le forum...

Bon we

Christian
Messages postés
29620
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 septembre 2020
337
Merci.
Bon Week-End également.