Convertir une colonne de valeur en tableau de dimension choisie

Bonjour à tous,

Nouveau sur le forum, n'hésitez pas à me dire si mon message n'est pas conforme à la section [A LIRE AVANT DE POSTER] que j'ai pris soin de lire.

Je vous explique mon problème.

J'étudie des clichés de microscopie que j'ai traité via le logiciel "Image J". J'ai mis au point un petit code (soyons honnête, j'ai trouvé un code JAVA quasi tout prêt me permettant de compter le nombre de pixels blancs par case dont je défini la surface. Mon cliché devient donc un tableau de valeurs de X colonnes et Y lignes. Le plus important, ce sont les valeurs comme dirait un certains génie.

Le problème est que le logiciel ne peut me donner les valeurs que sous forme de liste. Il m'est très facile de mettre ces données sur excel. Mais après, je bloque. Auriez-vous une solution Excel/VBA pour que cette ligne de valeurs deviennent un tableau dont je pourrais définir, via une boite de dialogue ou une cellule, le nombre de lignes et de colonnes ?

N'hésitez pas à me poser d'autres questions si ce message ne s'avère pas suffisamment clair J'ai mis plus d'infos pour ceux que ça intéresse sur le fichier ci-joint. (notamment le contexte du sujet).

En tous cas, je suis très content de pouvoir poster cette question, et espère pouvoir rendre la pareille à un utilisateur qui comme moi, est en détresse devant 3 lignes de codes

15read-me.docx (838.80 Ko)

Bonjour,

En dépit de tes abondantes explications c'est un petit peu flou.

D'un coté du dis : "Mon cliché devient donc un tableau de valeurs de X colonnes et Y lignes"

...donc c'est un tableau au sens d'Excel.

YAPA besoin de "que cette ligne de valeurs deviennent un tableau" puisque c'en est déjà un... cqfd !

et tu n'as pas besoin de définir le nombre de ligne et de colonne puisqu'il a d'office le nombre de ligne et de colonne de ton tableau.

Comme "il t'es très facile de mettre ces valeurs sur Excel" il suffit de récupérer l'adresse de ces données.

Ensuite tu écris

Sub Test
Dim Tablo
Tablo = Range("A1:D12000. Value
End Sub

Et hop! ton Tablo est formé...

Après tu peux le parcourir en long en large et en travers...

Et tu peux même le redimensionner en augmentant le nombre de colonnes si nécessaire.

Si j'ai bien compris la question !

A+

Bonjour,

Un grand merci pour ta réponse détaillée et super réactive

Effectivement je me suis (très) mal exprimé !.. Après le traitement de donnée, l'image peut être vue comme un tableau car le comptage de pixel se fait par case. Le souci est que les résultats sortent via le logiciel sous la forme d'une colonne exportable sur excel.

Pour simplifier, ce que je voudrais pouvoir faire, sur excel :

1) Rentrer un nombre de colonnes x et de lignes y (qui sera identique à mon découpage d'image).

2) Lancer la "conversion" de la colonne de donnée en un tableau de dimension x,y.

C'est plus clair ?

Encore merci

Une colonne de valeur c'est un tableau de y lignes et de x colonnes : il n'y a rien à convertir...

Es-tu capable d'importer ces données sous Excel :

Si oui donne moi cette feuille ou tu as récupéré les données.

Juste à exécuter la macro que je t'ai donné avec plus ou moins de variante suivant ce que tu veux en faire.

Voire aussi le classeur joint ou je crée un tableau des valeurs de la feuille 1 et ou je les parcoure.

Si tu ne sais pas les récupérer dans Excel donne moi ton fichier d'Export et je l'importerai.

A+

8lecturetablo.xlsm (16.03 Ko)

Encore merci pour ta réactivité. Afin d'être enfin clair, j'ai mis toutes les infos dans le petit fichier excel ci-joint.

Qu'en penses-tu ?

Merci pour ton code qui va grandement m'aider

C'est le etc... qui ne me dit rien qui vaille !

Bon de toute façon là je ne pense pas que ça va être possible parce que là ce n'est plus de la conversion mais du bricolage...

Convertir une matrice verticale en une matrice horizontale, à la rigueur... (parce là il y a déjà du bricolage)

Une transposition standard te ferait une matrice d'une ligne. Après ça devient du saucissonnage.

C'est possible mais ça devient de la programmation pure... Mais il faut prévoir tous les paramètres possibles en fonction des données de départ :

nombre de série horizontale +

Adresse en dur (dans le tableau source) de la première série horizontale

Adresse en dur (dans le tableau source) de la deuxième série horizontale

ou ...

nombre de série horizontale + nombre de valeur à transposer pour chaque série

Dans ce dernier cas à supposer qu'on saucissonne systématiquement les n premières valeurs d'origine, puis les n suivantes, puis les n suivantes... Parce que si en plus il y a des exceptions ça va faire beaucoup de paramètres...

Si on reprend ton exemple et qu'on transpose 15 lignes ça fait 15 colonnes et non 16...

Hum... Bon c'est juste du vocabulaire j'ai bien compris que tu voulais que je saucissonne ta matrice verticale en 16 lignes ...

Bon je te fais ça...

A+

8lecturetablo.xlsm (16.03 Ko)

C'est fait voir ci-dessus.

Salut Galopin,

Saut erreur de ma part, le code du dernier fichier est identique à celui de "lecturetablo" de ton message d'hier

Sorry !

Si y a bien une chose que tu n'as pas à faire, c'est bien de t'excuser !!

Merci c'est exactement ce que je souhaitais faire. J'ai changé "19" par la valeur en E3 que je défini comme le nb de colonne que je veux obtenir, c'est parfait !

J'ai trouvé une formule 'index' qui permet d'aller chercher des valeurs puis d'incrémenter. ça permet d'y arriver mais c'est bien moins efficace, rapide et élégant

Encore merci pour le temps que tu y a passé

Pas de souci.

En y réfléchissant...

En dépit de ce que j'ai écrit je crois que je ne me sert pas de E4 :

Je ne regarde que le nombre de colonnes souhaitées à l'arrivée...

A+

Rechercher des sujets similaires à "convertir colonne valeur tableau dimension choisie"