Bonjour,

je ne comprends pas, lorsque le code ci-dessous est dans un Userform, il marche parfaitement.

Mais lorsque je le mets dans un userform multipage il ne fonctionne plus

l'indice n'appartient pas à la sélection > le problème est au niveau de TblBD, je n'arrive pas a résoudre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 For i = 1 To UBound(TblBD)
Code complet
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
Dim f, TblBD()
Option Compare Text
 
Private Sub frmRecherche_Initialize()
 
MultiPage1.Value = 0
 
  Set f = Sheets("SOCIETES")
  TblBD = f.Range("A2:AV" & f.[A5000].End(xlUp).Row).Value
  Me.ListBox1.List = TblBD
  Me.ListBox1.ColumnCount = 48
  Me.ListBox1.ColumnWidths = "0;0;0;100;0;0;0;0;0;0;0;70;0;0;0;0;0;120;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;70;0;0;0;0"
End Sub
Private Sub TextBoxMotCléCP_Change()
 
MultiPage1.Value = 0
 
  ColRecherche = 44
  clé = "*" & Me.TextBoxMotCléCP & "*": n = 0
  Dim Tbl()
  For i = 1 To UBound(TblBD)
    If TblBD(i, ColRecherche) Like clé Then
       n = n + 1: ReDim Preserve Tbl(1 To UBound(TblBD, 2), 1 To n)
       For k = 1 To UBound(TblBD, 2): Tbl(k, n) = TblBD(i, k): Next k
    End If
  Next i
  If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub
 
Private Sub TextBoxMotCléSST_Change()
  ColRecherche = 4
  clé = "*" & Me.TextBoxMotCléSST & "*": n = 0
  Dim Tbl()
  For i = 1 To UBound(TblBD)
    If TblBD(i, ColRecherche) Like clé Then
       n = n + 1: ReDim Preserve Tbl(1 To UBound(TblBD, 2), 1 To n)
       For k = 1 To UBound(TblBD, 2): Tbl(k, n) = TblBD(i, k): Next k
    End If
  Next i
  If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub