On voit une partie du code ci-joint, cela récupère des feuille sélectionné dans un ListBox (ListBox1) et les regroupe en un fichier pour les envoyer via email.

J'aimerai savoir comment faire pour faire la meme chose mais a partir de 2 ListBox?[/B] (ListBox1 et ListBox2)

SVP votre aide serait grandement apprécié

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Public Sub Option_0()
    Dim nom As Variant
    If GetKeyState(VK_SHIFT) < 0 Then Shift = True Else Shift = False
    If GetKeyState(VK_CTRL) < 0 Then Ctrl = True Else Ctrl = False
    If Ctrl = True Then
    Emailname = ""
    Else
    Emailname = ""
    End If
    N = 0
    N1 = 0
    For i = 0 To SendMailform.ListBox1.ListCount - 1
    If SendMailform.ListBox1.Selected(i) = True Then
    N = N + 1
    ReDim Preserve arr(1 To N)
    arr(N) = SendMailform.ListBox1.List(i)
    End If
    Next i
    If N = 0 Then
    MsgBox "Vous devez sélectioner au moins une feuille, S.V.P. corriger et essayer a nouveau !", _
    vbOKOnly, "Couriel"
 
    Exit Sub
    End If
    SendMailform.Hide
    ect,,,, ect,,,, ect,,,,,
 
    Dans un autre module :
 
    Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
    Public Const VK_SHIFT As Integer = &H10 'Shift
    Public Const VK_CTRL As Integer = &H11 'Ctrl
    Public Shift As Boolean
    Public Ctrl As Boolean
    Public YesNoWinZip As Boolean
    Public myshape As Shape
    Public ShapeDelete As Boolean
    Public ListChange As Boolean
    Public pword As Variant
    Public p As Variant
    Public sh As Worksheet
    Public MyBook As Workbook
    Public fname As Variant
    Public Emailname As String
    Public arr() As String
    Public N As Integer
    Public i As Long
    Public vArr As Variant
    Public sFname As String