XL 2016 Récupérer les valeurs d'une colonne dans un array à une seule dimension

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

excelentille

XLDnaute Nouveau
Bonjour !

VB:
Dim arr1() As Variant
arr1 = Array("Cow", "Cat", "Cow", "Frog", "Pig", "Cat")

... Me récupère toutes ces données dans un tableau à une seul dimension :

EXCEL_WLYbgyJl80.png

En revanche,...
VB:
Dim arr1() As Variant
arr1 = Range("B2", Range("B2").End(xlDown))

... Me renvoie les données dans un tableau à 2 dimensions (ou du moins va chercher mes données dans la seconde colonne d'un tableau (1,1 / 2,1), que ma fonction est incapable de digérer :

EXCEL_tup2NnvWUq.png


J'ai testé pas mal de choses, mais ne parviens pas à récupérer ces données dans une colonne 0.

Une solution ?

Merci !
 
Bonjour,

Normal, un objet range est géré comme un tableau à deux dimension, raison pour laquelle on peut référencer une cellule par ObjetRange(1,2).

si vous n'avez pas des milliers de lignes vous pouvez utiliser :
Dim arr1() As Variant
arr1 = Application.Transpose(Range("B2", Range("B2").End(xlDown)).Value)
qui vous donnera un tableau à une dimension

Sinon il vous faudra passer par un autre tableau et transvaser les valeurs de l'un à l'autre dans une boucle for.

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour