Bonjour !
J'aimerais créer un tableau de taille non prédéfinie pour pouvoir le redimensionner après (ne sachant pas combien d'éléments je vais mettre dedans). Mon code est le suivant :
Seulement ce qu'il y a en gras ne fonctionne pas ("L'indice n'appartient pas à la selection"...). Est-ce que les indices des éléments du tableau commencent bien par 1 ? Est-ce que je peux utiliser ces indices alors que je n'ai pas donné de dimension à mon tableau ?
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 Option Explicit Public MSN() As Integer Sub listes() Dim tbl As Range, tbl2 As Range, cel As Range, cel2 As Range Dim n As Integer Set cel = ThisWorkbook.Worksheets("Sheet1").Range("A1") Set cel2 = ThisWorkbook.Worksheets("Sheet3").Range("A1") 'Selection des msn; copier coller en feuille 3 Set tbl = cel.CurrentRegion Set tbl = tbl.Offset(2, 0).Resize(tbl.Rows.Count - 2, 1) tbl.Copy Destination:=cel2 'Suppression des doublons n = 1 Do While Cells(n, 1) <> "" If Cells(n, 1) = Cells(n + 1, 1) Then Rows.Item(n).Delete Else n = n + 1 End If Loop 'Rentrée des données dans un tableau n = 1 MSN(1) = cel2 Do While cel2.Offset(n, 0) <> "" MSN(n+1) = cel2.Offset(n, 0) n = n + 1 Loop 'Calcule et redimensionne longueur du tableau Set tbl2 = cel2.CurrentRegion ReDim Preserve MSN(tbl2.Rows.Count) 'Entre ces données dans la listbox adéquat UserForm1.ListBox1.List = MSN '"Nettoie" la feuille 3 tbl2.ClearContents End Sub
Ou plus simplement comment fait-on pour remplir un tableau sans taille ... ?
Partager