OVH Cloud OVH Cloud

Appel aux experts : comment déplacer de colonne à ligne ?

9 réponses
Avatar
JT free
Bjr,

Si j'ai une colonne de valeurs (du texte par exemple de A1 à A4), comment
puis-je déplacer ces données pour me les retrouver en lignes (de A1 à D1) ?

Urgent merci ! (sous Excel 2000)

Cordialement, JT.

9 réponses

Avatar
AV
Une...à adapter

Sub zzz()
For i = 1 To 4
Cells(1, i) = Cells(i, 1)
Next
[A2:A4] = ""
End Sub

AV
Avatar
Patrick Bastard
Bonjour, JT Free

En copier coller pas possible à ma connaissance avec la même cellule de
départ.
Solution :
sélectionner A1:A4,
Copier,
se placer sur A2
Collage spécial cocher transposition.
supprimer ensuite A1.

D'autres contributeurs te proposeront probablement plus élégant (VBA).

Bien cordialement

"JT free" a écrit dans le message de
news:401922ca$0$17122$
Bjr,

Si j'ai une colonne de valeurs (du texte par exemple de A1 à A4), comment
puis-je déplacer ces données pour me les retrouver en lignes (de A1 à D1)
?


Urgent merci ! (sous Excel 2000)

Cordialement, JT.




Avatar
2B or not 2B
Sélection de la zone
Copier
Positionnement sur la première cellule de ligne de destination
Edition/Collage spécial/ cocher Transposé

Mais bon suis pas un expert !
Avatar
ChrisV
Bonjour JT free (...),

Sub zaza()
Dim i As Integer
Application.ScreenUpdating = False
For i = 2 To 4
With Cells(i, 1)
Cells(1, i) = .Value
.Clear
End With
Next i
End Sub


ChrisV


"JT free" a écrit dans le message de
news: 401922ca$0$17122$
Bjr,

Si j'ai une colonne de valeurs (du texte par exemple de A1 à A4), comment
puis-je déplacer ces données pour me les retrouver en lignes (de A1 à D1)
?


Urgent merci ! (sous Excel 2000)

Cordialement, JT.




Avatar
JT free
Sub zaza()
Dim i As Integer
Application.ScreenUpdating = False
For i = 2 To 4
With Cells(i, 1)
Cells(1, i) = .Value
.Clear
End With
Next i
End Sub



Ah.... okokokokokok ! Fais la bise aussi à Subzaza !

Merci de traduire !

Avatar
JT free
Merci aux experts qui m'ont répondu en se mettant à mon niveau... En fait
j'ai testé une macro et ça donne :


Sub transposition()
'
' transposition Macro
' Macro enregistrée le 29/01/2004 par JT'

'
ActiveSheet.Paste
Selection.Copy
Range("A20").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone,
SkipBlanks:úlse _
, Transpose:=True
End Sub

Explication : je copie *avant d'exécuter cette macro* une colonne dans un
autre document (sous IExplorer) et je colle ensuite dans excel grâce à cette
macro. Ca marche très bien, mais au deuxième coup, ça me recolle sur la même
ligne collée précédemment (A20). Il doit y avoir un moyen de lui faire
comprendre qu'il faut q'il aille à la ligne suivante (en modifiant ma
macro), non ?
Avatar
Michel Gaboly
Bonsoir Patrick,

Ce n'est pas un problème : puisque A1 est invariant, il suffit de
copier les 3 autres cellules (A2 à A4)

Ensuite Copier, sélection de B1 et Collage Spécial en cochant
"Transposé" :-))



Bonjour, JT Free

En copier coller pas possible à ma connaissance avec la même cellule de
départ.
Solution :
sélectionner A1:A4,
Copier,
se placer sur A2
Collage spécial cocher transposition.
supprimer ensuite A1.

D'autres contributeurs te proposeront probablement plus élégant (VBA).

Bien cordialement

"JT free" a écrit dans le message de
news:401922ca$0$17122$
Bjr,

Si j'ai une colonne de valeurs (du texte par exemple de A1 à A4), comment
puis-je déplacer ces données pour me les retrouver en lignes (de A1 à D1)
?


Urgent merci ! (sous Excel 2000)

Cordialement, JT.





--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
JT free
Ou en sélectionnant l'option *référence relative* (au moment d'enregistrer
ma macro) :

Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 29/01/2004 par JT'

'
ActiveSheet.Paste
Selection.Copy
ActiveCell.Offset(-10, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone,
SkipBlanks:úlse _
, Transpose:=True
ActiveWindow.SmallScroll Down:=6
ActiveCell.Offset(10, 0).Range("A1:A12").Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub
Avatar
Patrick Bastard
Bonjour, Michel.

puisque A1 est invariant,


Bon sang, mais c'est bien sûr...

Bien cordialement,

"Michel Gaboly" a écrit dans le message de
news:
Bonsoir Patrick,

Ce n'est pas un problème : puisque A1 est invariant, il suffit de
copier les 3 autres cellules (A2 à A4)