Bonjour as tous et meilleurs vœux pour 2014 !!

J'ai un fichier de plusieurs avec plusieurs feuille.
Sur la première feuille j'ai une liste de variable unique.
Sur la deuxième je retrouve les mêmes variables en doublon avec d'autre variable unique, sur une colonne j'ai le nombre de doublon associé a chaque variable.

Dans mon code j'ai une boucle For Next du nombre de variable a traité (2547), je charge la première variable de la feuille 1 puis je filtre cette variable sur la feuille 2. Apres je regarde le nombre de doublon existant pour cette variable.

Là deux solutions :
- soit 1 seul doublon et dans ce cas je fait mon traitement
- soit plusieurs doublons et la je charge toutes les variables dans une listebox.

Mon problème et que lorsque la listbox et chargé des variables, je voudrai que le userform apparaisse et après un double clic sur la listbox sur la variable de mon choix, mon traitement se fasse et on passe a la boucle suivante.

Mais ce n'est pas le cas, dès que j'ai plus d'une valeurs, ma listbox se charge mais mon userform n'est pas accessible et ma boucle continu. Du coup je me retrouve avec ma listbox pleine a la fin de la boucle et je ne peux choisir les variables.

ci joint mon code (le userform en question est le 2, le 1 est une barre de progression) :
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
50
51
52
53
54
55
56
57
58
59
60
61
62
Sub RecherchePDR()
Dim i, L_MI_BMA, m
Dim Tau As Long
Dim Tau1 As Long
Dim RF As String
Dim MaPlage As Range
Dim C As Object
 
Tau = 0
Tau1 = 0
Load UserForm1
With UserForm1
    .Show
    .Left = 700
    .Top = 40
End With
 
For i = 2 To 2547
    RF = Sheets("RECHERCHE MI").Range("B" & i).Value
    Sheets("Feuil1").Range("$A$1:$Y$46563").AutoFilter field:=2, Criteria1:=RF
    L = Sheets("Feuil1").Range("A65536").End(xlUp).Row
    K = Sheets("Feuil1").Range("A" & L).Value
 
    If K = 1 Then
        Art = Sheets("Feuil1").Range("W" & L).Value
        LibArt = Sheets("Feuil1").Range("X" & L).Value
        Sheets("RECHERCHE MI").Range("W" & i).Value = Art
        Sheets("RECHERCHE MI").Range("AI" & i).Value = LibArt
        Sheets("MI BMA").Range("$A$1:$Y$46563").AutoFilter field:=4, Criteria1:=Art
        L_MI_BMA = Sheets("MI BMA").Range("A65536").End(xlUp).Row
        If L_MI_BMA <> 1 Then
            With Sheets("RECHERCHE MI")
                .Range("Y" & i).Value = Sheets("MI BMA").Range("A" & L_MI_BMA).Value
            End With
        End If
    End If
    Tau = ((i - 2) * 100) / (2545)
    Tau1 = Tau * 2
    UserForm1.Label1.Width = Tau1
    UserForm1.Caption = "Progression : " & Tau & "%"
    UserForm1.Repaint
Next
Tau = 0
Tau1 = 0
Load UserForm1
For i = 2 To 2547
    RF = Sheets("RECHERCHE MI").Range("B" & i).Value
    Sheets("Feuil1").Range("$A$1:$Y$46563").AutoFilter field:=2, Criteria1:=RF
    L = Sheets("Feuil1").Range("A65536").End(xlUp).Row
    K = Sheets("Feuil1").Range("A" & L).Value
 
    If K > 1 And K <> "X12 Code Info Externe PF N02" Then
        Call Cherch
    End If
    Tau = ((i - 2) * 100) / (2545)
    Tau1 = Tau * 2
    UserForm1.Label1.Width = Tau1
    UserForm1.Caption = "Progression : " & Tau & "%"
    UserForm1.Repaint
Next
UserForm1.Hide
End Sub