Bonjour,

J'en appelle a vos regards d'expert, car la je ne trouve pas la solution.

Je travaille avec Excel 2007, j'ai un formulaire qui permet de trouver via une valeur saisie dans une textbox toutes les occurences et de les afficher dans une listBox :

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
Private Sub B_go_Click()
    Me.ListBox2.Clear
    Worksheets("cherche").Select
    Set c = Range("a:a").Find(Me.TextBox1.Value, LookIn:=xlValues)
    If Not c Is Nothing Then
      premier = c.Address
      i = 0
      Do
        Me.ListBox2.AddItem
        Me.ListBox2.List(i, 0) = c.Value
        Me.ListBox2.List(i, 1) = c.Offset(0, 1).Value
        Me.ListBox2.List(i, 2) = c.Offset(0, 4).Value
        Me.ListBox2.List(i, 3) = c.Offset(0, 5).Value
        Me.ListBox2.List(i, 4) = c.Offset(0, 6).Value
        Me.ListBox2.List(i, 5) = c.Offset(0, 7).Value
        Me.ListBox2.List(i, 6) = c.Offset(0, 8).Value
        Me.ListBox2.List(i, 7) = c.Offset(0, 9).Value
        Me.ListBox2.List(i, 8) = c.Offset(0, 10).Value
        Me.ListBox2.List(i, 9) = c.Offset(0, 11).Value
 
        Set c = Range("a:a").FindNext(c)
        i = i + 1
      Loop While Not c Is Nothing And c.Address <> premier
    End If
End Sub
 
Jusque la tout va bien, la ou est ce trouve mon probleme, j'autorise les utilisateurs a faire une recherche alphabetique dans une combobox afin de recuperer plusieurs choix que je conserve dans un onglet selection.
Suite a la selection, je voudrais maitenant afficher les resultats de toutes les occurences dans la listbox :
 
Me.ListBox2.Clear
 
    'Ici j'ai mis en dur la valeur pour mes tests mais l'objectif et de boucler
    'toutes les valeurs trouves dans l'onglet selection
 
    Me.TextBox1.Value = Sheets("selection").Range("B1").Value
 
    Worksheets("cherche").Select
    Set c = Range("a:a").Find(Me.TextBox1.Value, LookIn:=xlValues)
    If Not c Is Nothing Then
      premier = c.Address
      i = 0
      Do
        Me.ListBox2.AddItem
        Me.ListBox2.List(i, 0) = c.Value
        Me.ListBox2.List(i, 1) = c.Offset(0, 1).Value
        Me.ListBox2.List(i, 2) = c.Offset(0, 4).Value
        Me.ListBox2.List(i, 3) = c.Offset(0, 5).Value
        Me.ListBox2.List(i, 4) = c.Offset(0, 6).Value
        Me.ListBox2.List(i, 5) = c.Offset(0, 7).Value
        Me.ListBox2.List(i, 6) = c.Offset(0, 8).Value
        Me.ListBox2.List(i, 7) = c.Offset(0, 9).Value
        Me.ListBox2.List(i, 8) = c.Offset(0, 10).Value
        Me.ListBox2.List(i, 9) = c.Offset(0, 11).Value
 
        Set c = Range("a:a").FindNext(c)
        i = i + 1
      Loop While Not c Is Nothing And c.Address <> premier
 
    End If
 
End Sub
Mais la ca ne fonctionne plus, la routine stop Me.ListBox2.List(i, 1) = c.Offset(0, 1).Value" n'arrivant pas a mettre la valeur.....

Donc pour resumer, j'ai un soucis d'affichage dans ma listbox, et je ne sais pas non plus comment faire une boucle sur toutes les valeurs selectionnes dans l'onglet selection pour afficher egalement toutes les occurences.


Merci par avance