Barre de progression

Résolu
procaly59 Messages postés 3 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008 - 28 janv. 2008 à 18:17
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 28 janv. 2008 à 19:55
bonjour,

Je traduis un programme de test MKTEST pour l'utiliser sur Synor (ce sont des testeurs de continuité electronique)
j'ai des macros qui fonctionnent mais je n'arrive pas à faire fonctionner ma barre de progression, elle ne s'affiche pas correctement et je ne comprends pas pourquoi.
Quelqu'un peut-il m'aider et m'indiquer comment mettre mes macros sur le site?
A bientôt j'espère

6 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
28 janv. 2008 à 18:31
Salut,

Pour mettre tes macros(si pas trop longue lol) tu fais un copier/coller quand tu répondra à ce message....Mais précise aussi, c'est quoi ton problème d'affichage...

A+
Exploreur

 Linux a un noyau, Windows un pépin
3
procaly59 Messages postés 3 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008
28 janv. 2008 à 18:44
quel bonheur d'avoir quelqu'un qui s'intéresse à mon problème
 voici le code utilisé

Sub Macro_N()
'   Traduite de la macro exemple de Jonhn Walkenbach
'   Insère des nombres aléatoires sur la feuille active
    Dim Counter As Integer
    Dim RowMax As Integer, ColMax As Integer
    Dim r As Integer, c As Integer
    Dim PourcentageEffectue As Single
   
    If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
    Cells.Clear
    Counter = 1
    RowMax = 10
    ColMax = 5
    For r = 1 To RowMax
        For c = 1 To ColMax
            Application.ScreenUpdating = False
            Sheets("3ème étape").Select


                    For rwIndex = 1 To 900
                        For colIndex = 1 To 132
                            With Worksheets("sheet1").Cells(rwIndex, colIndex)                                If .Value 0 Then .Value ""
                                End With
                        Next colIndex
                    Next rwIndex
                   
            Counter = Counter + 1
        Next c

la partie en bleu c'est ma macro que j'ai ajouté à une macro progressbar que j'ai trouver sur le site.
Le traitement est long et la barre s'affiche mais vide pas de progression
merci d'avance pour tes explications
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
28 janv. 2008 à 19:41
Salut,

Soit j'ai la berlu, soit il faut que j'aille me coucher...Mais ou est ta progress dans ton code ?

Bon, pour faire évoluer une Pb c'est : Pb.Value = Pb.Value + 1(attention à la valeur max que tu donnes à ta Pb, soit en dur dans sa propriété(max), soit par code en lui assignant la valeur max.

Par contre dans ton code, il manque à la fin :  Next r

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
28 janv. 2008 à 19:42
Oups...pour information, ne valide une réponse que SI elle répond à ton problème...Pour l'instant ce n'est pas le cas...

Ps : Toujours un plaisir d'essayer d'aider les autres...

A+
Exploreur

 Linux a un noyau, Windows un pépin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
procaly59 Messages postés 3 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008
28 janv. 2008 à 19:47
Je n'avais pas copier la totalité de la macro la voici mais ta réponse je ne la comprends pas

Sub Macro_N()
'   Traduite de la macro exemple de Jonhn Walkenbach
'   Insère des nombres aléatoires sur la feuille active
    Dim Counter As Integer
    Dim RowMax As Integer, ColMax As Integer
    Dim r As Integer, c As Integer
    Dim PourcentageEffectue As Single
   
    If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
    Cells.Clear
    Counter = 1
    RowMax = 10
    ColMax = 5
    For r = 1 To RowMax
        For c = 1 To ColMax
            Application.ScreenUpdating = False
            Sheets("3ème étape").Select



                    For rwIndex = 1 To 40
                        For colIndex = 1 To 10
                            With Worksheets("3ème étape").Cells(rwIndex, colIndex)                                If .Value 0 Then .Value ""
                                End With
                        Next colIndex
                    Next rwIndex
                   
            Counter = Counter + 1
        Next c
        PourcentageEffectue = Counter / (RowMax * ColMax)
        PourcentageEffectue = Format(Left(Format(PourcentageEffectue, "0.000"), 4), "#0.00")
        Call UpdateProgress(PourcentageEffectue)
    Next r
    Unload FrmProgression
End Sub


Sub UpdateProgress(PourcentageEffectue)
    With FrmProgression
        .FrameProgress.Caption = Format(PourcentageEffectue, "0%")
        .LabelProgress.Width = PourcentageEffectue * (.FrameProgress.Width - 10)
        .Repaint
    End With
End Sub
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
28 janv. 2008 à 19:55
Salut,

En faite tu fais du VBA et non .net...lol...faut faire attention dans aux catégories(c'est juste un conseil..lol..)


Essaye soit : Application.ScreenUpdating = True
ou de ne pas le mettre....du moins peut-être pas à cet endroit...

J'avoue que là je vais à tatons et que je ne suis pas un pro en VBA, d'ailleurs un pro tout cour....Donc si cela ne fonctionne pas, désolé, je ne pourrais pas plus t'aider...(MPI si tu passes par là..lol..) 


A+
Exploreur

 Linux a un noyau, Windows un pépin
0
Rejoignez-nous