OVH Cloud OVH Cloud

ProgressBar Verticale à Horizontale ??

2 réponses
Avatar
Hervé FD
Bonjour à tous,
Voilà j'ai une barre de progression verticale qui fonctionne très bien
(Merci à ceux qui m'ont aidé ;-) )
Je voudrais qu'elle soit horizontale (bas en haut ou haut en bas).
Est-ce possible et que faudrait-il changer à ce code ??

Merci pour votre aide
Hervé

Sub ParTableau(Maxi As Long, _
Pas As Integer, _
ByVal ProgressLargeur As Integer, ByVal ProgressLongueur As
Integer)
Dim Tbl
Dim I As Long
Dim J As Integer
Dim K As Long
Dim Colonne As Long

With Worksheets("Feuil1")
'recherche la dernière colonne
Colonne = .Cells.Find("*", .[A1], xlFormulas, , _
xlByColumns, xlPrevious).Column
'rempli le tableau
Tbl = .Range(.Cells(1, 1), .Cells(Maxi, Colonne))
End With

'déplace les valeurs dans le tableau
For I = 1 To Maxi Step Pas
K = K + 1
For J = 1 To Colonne
Tbl(K, J) = Tbl(I, J)
Next J
LblProgress.Width = (I / Maxi) * ProgressLargeur
progbar.Caption = CInt((I / Maxi) * 100) & "% effectués"
With LblAffiche
.Caption = CInt((I / Maxi) * 100) & "%"
If LblProgress.Width < .Width Then
.Left = LblProgress.Left
Else
.Left = LblProgress.Width / 2
End If
End With

2 réponses

Avatar
isabelle
bonjour Hervé,

modifie la macro pour varier la hauteur (Height) au lieu de la largeur
(Width).

isabelle


Bonjour à tous,
Voilà j'ai une barre de progression verticale qui fonctionne très bien
(Merci à ceux qui m'ont aidé ;-) )
Je voudrais qu'elle soit horizontale (bas en haut ou haut en bas).
Est-ce possible et que faudrait-il changer à ce code ??

Merci pour votre aide
Hervé

Sub ParTableau(Maxi As Long, _
Pas As Integer, _
ByVal ProgressLargeur As Integer, ByVal ProgressLongueur As
Integer)
Dim Tbl
Dim I As Long
Dim J As Integer
Dim K As Long
Dim Colonne As Long

With Worksheets("Feuil1")
'recherche la dernière colonne
Colonne = .Cells.Find("*", .[A1], xlFormulas, , _
xlByColumns, xlPrevious).Column
'rempli le tableau
Tbl = .Range(.Cells(1, 1), .Cells(Maxi, Colonne))
End With

'déplace les valeurs dans le tableau
For I = 1 To Maxi Step Pas
K = K + 1
For J = 1 To Colonne
Tbl(K, J) = Tbl(I, J)
Next J
LblProgress.Width = (I / Maxi) * ProgressLargeur
progbar.Caption = CInt((I / Maxi) * 100) & "% effectués"
With LblAffiche
.Caption = CInt((I / Maxi) * 100) & "%"
If LblProgress.Width < .Width Then
.Left = LblProgress.Left
Else
.Left = LblProgress.Width / 2
End If
End With


Avatar
Hervé Frank-Dangel
BOnjour Isabelle,
C'est ce que j'ai fait mais ça ne fonctionne pas à cause du Left je pense.
Par quoi le remplacer pour que ce soit Ok, Bottom ne fonctionne pas, j'ai
essayé et je sèche....
Merci quand même
@+



"isabelle" a écrit dans le message de
news:
bonjour Hervé,

modifie la macro pour varier la hauteur (Height) au lieu de la largeur
(Width).

isabelle


Bonjour à tous,
Voilà j'ai une barre de progression verticale qui fonctionne très bien
(Merci à ceux qui m'ont aidé ;-) )
Je voudrais qu'elle soit horizontale (bas en haut ou haut en bas).
Est-ce possible et que faudrait-il changer à ce code ??

Merci pour votre aide
Hervé

Sub ParTableau(Maxi As Long, _
Pas As Integer, _
ByVal ProgressLargeur As Integer, ByVal ProgressLongueur
As


Integer)
Dim Tbl
Dim I As Long
Dim J As Integer
Dim K As Long
Dim Colonne As Long

With Worksheets("Feuil1")
'recherche la dernière colonne
Colonne = .Cells.Find("*", .[A1], xlFormulas, , _
xlByColumns, xlPrevious).Column
'rempli le tableau
Tbl = .Range(.Cells(1, 1), .Cells(Maxi, Colonne))
End With

'déplace les valeurs dans le tableau
For I = 1 To Maxi Step Pas
K = K + 1
For J = 1 To Colonne
Tbl(K, J) = Tbl(I, J)
Next J
LblProgress.Width = (I / Maxi) * ProgressLargeur
progbar.Caption = CInt((I / Maxi) * 100) & "% effectués"
With LblAffiche
.Caption = CInt((I / Maxi) * 100) & "%"
If LblProgress.Width < .Width Then
.Left = LblProgress.Left
Else
.Left = LblProgress.Width / 2
End If
End With