RemoveDuplicates : passer une variable array sur le paramètre Columns
Bonjour,
en fait, tout est dans le titre :mrgreen:
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 :aie:
Quelqu'un a une idée ? J'ai la tête dans le guidon, la solution est peut-être évidente :oops:
Code:
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 |