Structure de matrice (simple)

Bonjour, la réponse est probablement simple mais je n'arrive pas à la résoudre.

voici mon problème :

J'ai une ligne dans une feuille (construction) avec des valeurs (1152 valeurs sur une ligne), et j'essaye de construire une nouvelle matrice (9 par 128).

J'essaye donc de remplir cette dernière avec mes 1152 valeur mais sans résultat -_-.

Voici ce que j'ai essayer mais cela ne fonctionne pas

For c = 1 To 1152
For b = 1 To 128
For a = 1 To 9
Sheet.Cells(a, b) = Sheets("Construction").Cells(1, c)
Next b
Next a
Next c

Pouriez vous m'aider dans ce problème qui doit etre simple SVP. ^^

bonjour,

a = 1
b = 1
For c = 1 To 1152
Sheet.Cells(a, b) = Sheets("Construction").Cells(1, c)
b = b + 1
If b > 128 Then b = 1: a = a + 1
Next c

Bonjour h2so4,

Cela ne fonction pas je ne sais pas pourquoi

cette ligne apparait en jaune :

Sheet.Cells(a, b) = Sheets("Construction").Cells(1, c)

le message me dit :*

Objet requis (erreur 424)

Bonjour, ou alors vous divisez toutes vos boucles en multiple de 128 ?

(à adapter avec le nom de vos feuilles). Nota l'exemple se réalise sur la ligne 1 de la feuille1 il faudra aussi modifier le numéro de ligne si ce n'est pas 1 dans l'onglet construction.

Sub Macro1()
For I = 1 To 128
Worksheets("resultat").Cells(1, I).Value = Worksheets("Feuil1").Cells(1, I).Value
Next I

For J = 129 To 256
Worksheets("resultat").Cells(2, J - 128).Value = Worksheets("Feuil1").Cells(1, J).Value
Next J

For K = 257 To 384
Worksheets("resultat").Cells(3, K - 256).Value = Worksheets("Feuil1").Cells(1, K).Value
Next K

For L = 385 To 512
Worksheets("resultat").Cells(4, L - 384).Value = Worksheets("Feuil1").Cells(1, L).Value
Next L

For M = 513 To 640
Worksheets("resultat").Cells(5, M - 512).Value = Worksheets("Feuil1").Cells(1, M).Value
Next M

For N = 641 To 768
Worksheets("resultat").Cells(6, N - 640).Value = Worksheets("Feuil1").Cells(1, L).Value
Next N

For O = 769 To 896
Worksheets("resultat").Cells(7, O - 768).Value = Worksheets("Feuil1").Cells(1, O).Value
Next O

For P = 897 To 1024
Worksheets("resultat").Cells(8, P - 896).Value = Worksheets("Feuil1").Cells(1, P).Value
Next P

For Q = 1025 To 1152
Worksheets("resultat").Cells(9, Q - 1024).Value = Worksheets("Feuil1").Cells(1, Q).Value
Next Q

End Sub

c'est plus long mais cela fonctionne bien, merci Xmenpl je ne connaissais pas la fonction worksheet ^^

Worksheets précise seulement le nom de la feuille ; celà évite les erreurs quand on indique seulement Cells.(... ) alors que l'on lance une macro à partir d'une autre feuille.

bonsoir,

cette ligne apparait en jaune :

Sheet.Cells(a, b) = Sheets("Construction").Cells(1, c)

c'est que sheet n'est pas défini comme étant une feuille.

essaie ceci pour avoir ta matrice sur "feuil1"

sheets("feuil1").cells(a,b)=sheets("construction").cells(1,c)
Rechercher des sujets similaires à "structure matrice simple"