Bonjour,

en fait, tout est dans le titre

J'ai une procédure à laquelle on passe en argument un listobject.

Au départ, j'avais hardcodé les colonnes à inspecter. Aucun souci.

Aujourd'hui, j'ai voulu la généraliser, et traiter dans la procédure la création d'un array contenant l'ensemble des colonnes du listobject passé en paramètre.

J'ai l'erreur 9 "argument ou appel de procédure incorrecte" sur la ligne du removeduplicates.

C'est ma variable tableau contenant les numéros de colonnes qui ne plaît pas à VBA, et je n'arrive pas à me dépatouiller

Quelqu'un a une idée ? J'ai la tête dans le guidon, la solution est peut-être évidente


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
Sub Dedoublonne(LeTablo As ListObject)
 
' nombre de colonnes du listobject
Dim NbCol As Long
    NbCol = LeTablo.ListColumns.Count
 
' on dimensionne le tableau des colonnes
Dim Colonnes() As Variant
ReDim Colonnes(1 To NbCol)
 
' alimentation du tableau des colonnes
For i = LBound(Colonnes) To UBound(Colonnes)
    Colonnes(i) = i
Next i
 
' suppression des doublons
LeTablo.Range.RemoveDuplicates Columns:=Colonnes, Header:=xlYes
End Sub