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

transposition lignes -> colonnes

3 réponses
Avatar
Olivier.g
Bonjour,

J'ai un fichier où les données sont enregistrées sur une seule colonne:
(exemple)
A
nom1
prenom1
age1
nom2
prenom2
age2
...

et j'aurais voulu faire une macro pour le transformer en:

A B C
nom1 prenom1 age1
nom2 prenom2 age2
... ... ...

Quelqu'un saurait-il m'indiquer la marche à suivre?
Merci d'avance.

3 réponses

Avatar
michdenis
Bonjour,

une façon de faire :

Les données sont présumées être en colonne A:A
le résultat s'affichera dans les colonnes B, C, D
'-----------------------------
Sub test()

With Worksheets("Feuil2") 'Adapte le nom de la feuille
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

For i = 1 To Rg.Rows.Count Step 3
A = A + 1
Range("B" & A) = Rg(i, 1)
Range("C" & A) = Rg(i, 1).Offset(1)
Range("D" & A) = Rg(i, 1).Offset(2)
Next
End Sub
'-----------------------------



"Olivier.g" a écrit dans le message de groupe de
discussion :
Bonjour,

J'ai un fichier où les données sont enregistrées sur une seule colonne:
(exemple)
A
nom1
prenom1
age1
nom2
prenom2
age2
...

et j'aurais voulu faire une macro pour le transformer en:

A B C
nom1 prenom1 age1
nom2 prenom2 age2
... ... ...

Quelqu'un saurait-il m'indiquer la marche à suivre?
Merci d'avance.
Avatar
Daniel.C
Bonjour.

Essaie :

Sub test3()
Dim c As Range, Ctr As Long
With Sheets("Feuil3")
Ctr = 1
For Each c In Range([A1], [A65536].End(xlUp))
col = c.Row Mod 3
If col = 0 Then col = 3
.Cells(Ctr, col) = c.Value
If c.Row Mod 3 = 0 Then Ctr = Ctr + 1
Next c
End With
End Sub

Cordialement
Daniel

Bonjour,

J'ai un fichier où les données sont enregistrées sur une seule colonne:
(exemple)
A
nom1
prenom1
age1
nom2
prenom2
age2
...

et j'aurais voulu faire une macro pour le transformer en:

A B C
nom1 prenom1 age1
nom2 prenom2 age2
... ... ...

Quelqu'un saurait-il m'indiquer la marche à suivre?
Merci d'avance.
Avatar
Olivier.g
C'est parfait.
Merci beaucoup.

"michdenis" a écrit :

Bonjour,

une façon de faire :

Les données sont présumées être en colonne A:A
le résultat s'affichera dans les colonnes B, C, D
'-----------------------------
Sub test()

With Worksheets("Feuil2") 'Adapte le nom de la feuille
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

For i = 1 To Rg.Rows.Count Step 3
A = A + 1
Range("B" & A) = Rg(i, 1)
Range("C" & A) = Rg(i, 1).Offset(1)
Range("D" & A) = Rg(i, 1).Offset(2)
Next
End Sub
'-----------------------------



"Olivier.g" a écrit dans le message de groupe de
discussion :
Bonjour,

J'ai un fichier où les données sont enregistrées sur une seule colonne:
(exemple)
A
nom1
prenom1
age1
nom2
prenom2
age2
...

et j'aurais voulu faire une macro pour le transformer en:

A B C
nom1 prenom1 age1
nom2 prenom2 age2
... ... ...

Quelqu'un saurait-il m'indiquer la marche à suivre?
Merci d'avance.