Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro transformation tableau ligne/colonne ... en ligne seulement

2 réponses
Avatar
Vital
Bonjour,
je recherche une macro VBA pour transformer un tableau de rubriques/dates
présenté en ligne/colonne dans un onglet
en un tableau uniquement présenté en ligne dans un autre onglet.
Concrètement à titre d'exemple pour mieux me faire comprendre :

Tableau Source - onglet 1
1/1/2005 1/2/2005 .... 1/12/2005

Peinture 10 13 ...... 44
Ciment 5 8 ...... 1
....


Tableau Retraité après exécution de la macro - onglet 2

Peinture 1/1/2005 10
Peinture 1/2/2005 13
.....
Peinture 1/12/2005 44
Ciment 1/1/2005 5
Ciment 1/1/2005 8
....
Ciment 1/1/2005 1
etc ...

Si quelqu'un peut m'aider à éviter de passer des nuits à la mise au point de
cette macro, je serai le plus heureux des hommes !

2 réponses

Avatar
ru-th
Salut

à tester
Sub TEST()
K = 2
With Sheets("Feuil2")
For i = 2 To [A65536].End(xlUp).Row
For j = 2 To Cells(i, "iv").End(xlToLeft).Column
.Cells(K, 1) = Cells(i, 1)
.Cells(K, 2) = Cells(1, j)
.Cells(K, 3) = Cells(i, j)
K = K + 1
Next j
Next i
End With
End Sub
--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Vital" a écrit dans le message de
news:ci7h20$j1a$
Bonjour,
je recherche une macro VBA pour transformer un tableau de rubriques/dates
présenté en ligne/colonne dans un onglet
en un tableau uniquement présenté en ligne dans un autre onglet.
Concrètement à titre d'exemple pour mieux me faire comprendre :

Tableau Source - onglet 1
1/1/2005 1/2/2005 .... 1/12/2005

Peinture 10 13 ...... 44
Ciment 5 8 ...... 1
....


Tableau Retraité après exécution de la macro - onglet 2

Peinture 1/1/2005 10
Peinture 1/2/2005 13
.....
Peinture 1/12/2005 44
Ciment 1/1/2005 5
Ciment 1/1/2005 8
....
Ciment 1/1/2005 1
etc ...

Si quelqu'un peut m'aider à éviter de passer des nuits à la mise au point
de

cette macro, je serai le plus heureux des hommes !




Avatar
isabelle
bonjour Vital,

Sub Macro1()
x = 1
For i = 2 To Sheets("Feuil1").Range("A65536").End(xlUp).Row
For y = 2 To Sheets("Feuil1").Range("IV1").End(xlToLeft).Column
Sheets("Feuil2").Cells(x, 1) = Sheets("Feuil1").Cells(i, 1)
Sheets("Feuil2").Cells(x, 2) = Sheets("Feuil1").Cells(1, y)
Sheets("Feuil2").Cells(x, 3) = Sheets("Feuil1").Cells(i, y)
x = x + 1
Next
Next
End Sub

isabelle


Bonjour,
je recherche une macro VBA pour transformer un tableau de rubriques/dates
présenté en ligne/colonne dans un onglet
en un tableau uniquement présenté en ligne dans un autre onglet.
Concrètement à titre d'exemple pour mieux me faire comprendre :

Tableau Source - onglet 1
1/1/2005 1/2/2005 .... 1/12/2005

Peinture 10 13 ...... 44
Ciment 5 8 ...... 1
....

Tableau Retraité après exécution de la macro - onglet 2

Peinture 1/1/2005 10
Peinture 1/2/2005 13
.....
Peinture 1/12/2005 44
Ciment 1/1/2005 5
Ciment 1/1/2005 8
....
Ciment 1/1/2005 1
etc ...

Si quelqu'un peut m'aider à éviter de passer des nuits à la mise au point de
cette macro, je serai le plus heureux des hommes !