VBA - Créer une matrice à partir d'une ListBox Multiple - VB/VBA/VBS - Programmation
Marsh Posté le 22-03-2011 à 09:56:30
Il faut dimensionner ton tableau.
Regarde du coté de : ReDim Preserve Selection_a(1 To J)
Ensuite, tu ne peux (a ma connaissance) pas ajouter directement une colonne.
Il faut te positionner sur chaque valeur de la colonne (donc sur chaque ligne de la colonne) et l'ajouter a ton tableau.
Pour résumer il te faut un tableau a plusieurs dimensions où Dimensions = Nb de colonne.
Dans chaque dimension tu vas ajouter les valeurs de chaque colonne.
Tu as donc besoin de deux boucles. Une pour boucler sur les colonnes a partir de ta listbox, une autre pour boucler sur les lignes de chaques colonnes pour ajouter les valeurs au tableau.
Edit : un peu de lecture ne fera pas de mal
Marsh Posté le 22-03-2011 à 11:10:26
Merci beaucoup, j'avais vraiment mal intégré le fonctionnement des tableaux, et developpez.com a bien aidé...
Maintenant ça donne ça :
Code :
|
Ce qui semble fonctionner, donc merci beaucoup ! Ceci dit, j'ai plus d'expérience avec Matlab, et faire quelque qui ressemblerait à
Code :
|
N'est donc pas (trivialement) possible sous VBA ? C'est tout de même dommage, mais bon.
En tout cas merci
Marsh Posté le 21-03-2011 à 21:29:48
Salut à vous,
Je sèche actuellement sur un problème VBA qui ne devrait pourtant être difficile à résoudre :
J'ai un tableau avec dans la première ligne des libellés, et dans toutes les lignes suivantes des valeurs.
J'ai créé une ListBox Multiple avec tous les libellés, et ce que je souhaite c'est qu'en sélectionnant les noms de colonnes dans la LisBox, je puisse créer une matrice ne contenant que ces colonnes là (sans les libellés de préférence, mais le souci n'est pas là).
Alors autant je suis capable de repérer quelles sont les colonnes sélectionnées, mais pour créer la matrice
Sachant que j'ai mon tableau initial stocké sous le nom 'Prix', je tente des combinaisons à base de :
qui ne marche pas et me renvoie une "Erreur de compilation : Qualificateur Incorrect".
J'ai également essyé de la faire à partir de "Union", mais je suis infoutu de faire quelque chose d'utilisable, la combinaison
est semblable à ce que je veux faire, mais elle me sélectionne toute la colonne (pas que celle de "Prix" ), et je n'arrive pas à la rendre dynamique.
Une idée quelqu'un ?
Merci