ho fatto una prova... effettivamente con un piccolo artificio si riesce a fare quello che vuoi.

ma non con la progressbar standard, ovvero quella dei CommonControls. devi creartela da solo.

ho preparato un piccolo esempio, e se ti va di provarlo, metti in un form nuovo:

- 1 PictureBox
- 1 ListView
- 1 Imagelist
- 1 Timer

lascia tutti i nomi di default.

dopo di che nel codice del form metti queste righe:

codice:
Public NumeroFiles As Integer

Private Sub Form_Load()

Randomize

NumeroFiles = 50

Dim itmx As ListItem
Dim K As Integer

Timer1.Interval = 500
Timer1.Enabled = True
Picture1.AutoRedraw = True
Picture1.Visible = False

ImageList1.ListImages.Add , , Picture1.Image
ListView1.View = lvwReport
ListView1.HideSelection = False
ListView1.FullRowSelect = True
ListView1.ColumnHeaders.Add , , "ID", 0
ListView1.ColumnHeaders.Add , , "Nome File", Picture1.ScaleWidth * 2
ListView1.ColumnHeaders.Add , , "Scaricato", Picture1.ScaleWidth

For K = 1 To NumeroFiles
    Set itmx = ListView1.ListItems.Add(, , K)
    itmx.SubItems(1) = "File N. " & K
    itmx.SubItems(2) = " "
Next

End Sub

Private Sub Timer1_Timer()

Dim Completi As Integer
Dim ValPrec As String
Dim Stp As Integer
Dim BarW As Integer
Dim X As Integer
Dim K As Integer

Set ListView1.SmallIcons = Nothing
ImageList1.ListImages.Clear

For K = 1 To NumeroFiles
    Stp = 1 + Int(Rnd * 5)
    ValPrec = ListView1.ListItems(K).Tag
    If Val(ValPrec) < 100 Then
        BarW = Val(ValPrec) + Stp
        ListView1.ListItems(K).Tag = BarW
        X = (Picture1.ScaleWidth * BarW) / 100
        Picture1.Cls
        Picture1.BackColor = RGB(200, 200, 200)
        Picture1.Line (0, 0)-(X, Picture1.ScaleHeight), vbRed, BF
        ImageList1.ListImages.Add , , Picture1.Image
    Else
        Picture1.BackColor = vbGreen
        ImageList1.ListImages.Add , , Picture1.Image
        ListView1.ListItems(K).Tag = 100
    End If
    DoEvents
Next
    
    Set ListView1.SmallIcons = ImageList1

    Completi = 0
For K = 1 To NumeroFiles
    ListView1.ListItems(K).ListSubItems(2).ReportIcon = K
    Completi = Completi + IIf(ListView1.ListItems(K).Tag = 100, 1, 0)
    If Completi = NumeroFiles Then
        Timer1.Enabled = False
        MsgBox "Downloads completati!"
    End If
    DoEvents
Next

End Sub
ovviamente l'avanzamento delle barre si basa su dei valori casuali... ma penso che con qualche aggiustamento possa riuscire ad adattarlo alle tue esigenze...
volendo, potresti anche rendere piu "raffinata" la ProgressBar aggiungendo la percentuale di avanzamento, etc...

Boolean