Show modal est déjà à False..Mettez la propriété ShowModal du UserForm à False.
Mettez Me.Hide avant et Me.Show après.
Est-ce à dire que tu essayes d'afficher le UserForm de la barre de progression par-dessus un autre UserForm ?Encore un prb," impossible d'afficher une feuille non modale si une feuille modale est affichée."
Je crois que tu ne m'as pas compris.ladite barre de progression pourrait être intégrée à ce UserForm
Je l'ai déjà fait c'était je crois sur Excel 97 avec la fonction Pct.
C'était compliqué la nouvelle fonction est plus simple.
Pour moi, "un message d'attente qui se referme tout seul" ça veut dire une MsgBox ou un UserForm (le UserForm étant plus simple pour cela).commencer par un simple message
C'était ma question du début.
Rappel:
"J'utilise une listbox dans un Userform qui se met à jour après un calcul assez long.
Ce calcul est lancé par un bouton.
Est-il possible d'afficher un message d'attente qui se referme tout seul à la fin du calcul."
Me.Hide
For ii = 1 To 100 ' barre progression
Call UserForm_BarreProgression.BarreProgression("Module_test", 100, ii) ' barre progression
For x = 1 To 10000
For Each Target In [AA2,AB2,AC2]
Target(2).Resize(Rows.Count - Target.Row).ClearContents 'RAZ
nlig = Int(Val(Target(0, 1))) 'new
If nlig > 1 Then
With Target(2, 0).Resize(nlig)
tablo = .Value 'mémorise
.Formula = "=RAND()"
.Columns(2) = tablo
.Resize(, 2).Sort .Cells, Header:=xlNo 'tri
.Value = tablo 'restitution
End With
End If
Next
If Range("AH2").Value = Range("Z1").Value Then
Range("AI2").Value = x
Exit Sub
End If
Next x
Next ii ' barre de progresion
Me.Show
For x = 1 To 10000
if (x mod 100) = 50 then Call UserForm_BarreProgression.BarreProgression("Module_test", 100, x) ' barre progression
For Each Target In [AA2,AB2,AC2]
Target(2).Resize(Rows.Count - Target.Row).ClearContents 'RAZ
nlig = Int(Val(Target(0, 1))) 'new
If nlig > 1 Then
With Target(2, 0).Resize(nlig)
tablo = .Value 'mémorise
.Formula = "=RAND()"
.Columns(2) = tablo
.Resize(, 2).Sort .Cells, Header:=xlNo 'tri
.Value = tablo 'restitution
End With
End If
Next
If Range("AH2").Value = Range("Z1").Value Then
Range("AI2").Value = x
Exit Sub
End If
Next x