Re: Print by VBA avec USF d'une 1 ou plusieurs feuilles...
Bonjour tout le monde !!!
je vous explique ma solution trouvé en fouillant sur ce forum ;-)
Maintenant mon USF est scindé en 2 textbox, une pr la naviguation et une pr l'impression ;-)
rien de bien compliqué finalement !
et le code à utiliser est le suivant :
Option Explicit
Const T As String = "Navigation ou Impression"
Private Sub UserForm_Initialize()
List_Loop_And_Sort_On_Dynamic_Array
Me.Caption = T
End Sub
Sub List_Loop_And_Sort_On_Dynamic_Array()
Dim Tablo() As String
Dim x As Integer, j As Integer, I As Integer, ii As Integer
Dim Tmp1 As String, Tmp2 As String
For I = 0 To Worksheets.Count - 1
ReDim Preserve Tablo(I)
Tablo(I) = Worksheets(I + 1).Name
Next
For I = LBound(Tablo) To UBound(Tablo)
For j = LBound(Tablo) + ii To UBound(Tablo)
If Tablo(I) > Tablo(j) Then
Tmp1 = Tablo(j): Tmp2 = Tablo(j)
Tablo(j) = Tablo(I): Tablo(j) = Tablo(I)
Tablo(I) = Tmp1: Tablo(I) = Tmp2
End If
Next j
ii = ii + 1
Next I
UserForm1.ListBox1.List = Tablo
UserForm1.ListBox2.List = Tablo
End Sub
Private Sub ListBox1_Click()
Worksheets(CStr(Me.ListBox1)).Activate
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Worksheets(CStr(Me.ListBox1)).Activate
Unload Me
End Sub
Private Sub CommandButton2_Click()
Dim I As Integer
For I = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(I) = True Then
Sheets(ListBox2.List(I)).PrintOut
End If
Next
End Sub
Bonne am à tous en espérant que cela puisse servir à d'autres personnes ici présente ;-)
Tchao