OVH Cloud OVH Cloud

Déplacement de colonnes

4 réponses
Avatar
JOLY Jean-Luc
Bonjour,
Je reçois des feuilles dont les colonnes se suivent (logique!)
A,B,D,E,F etc
Je voudrais copier cette feuille dans une autre avec son contenu en
déplaçant les colonnes, par exemple:
D,A,E,F,B
Comment s'y prendre par une macro sans-doute.
Merci pour votre aide,
Jean-Luc

4 réponses

Avatar
michdenis
Bonjour Jean-Luc,

Il y a ceci :

Adapte le nom des feuilles... et assure toi que tu indiques le
même nombre de colonnes de destination qu'il y a de colonnes
dans ta plage source ....

'---------------------------
Sub test()

Dim A As Integer
Dim Arr As Variant
' D,A,E,F,B
'Représente l'index de la colonne où tu veux copier tes données
Arr = Array(4, 1, 5, 6, 2)

On Error Resume Next
With Worksheets("Feuil1")
For Each c In .Range("A:F").Columns
c.Copy Worksheets("Feuil2").Cells(1, Arr(A))
A = A + 1
Next
End With

End Sub
'---------------------------


Salutations!



"JOLY Jean-Luc" a écrit dans le message de news:

Bonjour,
Je reçois des feuilles dont les colonnes se suivent (logique!)
A,B,D,E,F etc
Je voudrais copier cette feuille dans une autre avec son contenu en
déplaçant les colonnes, par exemple:
D,A,E,F,B
Comment s'y prendre par une macro sans-doute.
Merci pour votre aide,
Jean-Luc
Avatar
Eric Mermin
Bonjour,
Tu peux le faire aussi sans code, ni macro.
Tu insères une ligne au sommet de la zone à trier.
Tu crées une clé de tri en mettant des n° qui te permmettront d'avoir
les colonnes dans l'ordre désiré
par exemple
2,5,1,3,4 respectivement dans les colonnes
A,B,D,E,F
pour obtenir l'ordre
D,A,E,F,B
puis tu fais un tri de gauche à droite (voir dans les options de tri)
a +
eric

Bonjour,
Je reçois des feuilles dont les colonnes se suivent (logique!)
A,B,D,E,F etc
Je voudrais copier cette feuille dans une autre avec son contenu en
déplaçant les colonnes, par exemple:
D,A,E,F,B
Comment s'y prendre par une macro sans-doute.
Merci pour votre aide,
Jean-Luc


Avatar
JOLY Jean-Luc
Merci pour ton aide,
et ça fonctionne.
Jean-Luc


Bonjour,
Tu peux le faire aussi sans code, ni macro.
Tu insères une ligne au sommet de la zone à trier.
Tu crées une clé de tri en mettant des n° qui te permmettront d'avoir
les colonnes dans l'ordre désiré
par exemple
2,5,1,3,4 respectivement dans les colonnes
A,B,D,E,F
pour obtenir l'ordre
D,A,E,F,B
puis tu fais un tri de gauche à droite (voir dans les options de tri)
a +
eric

Bonjour,
Je reçois des feuilles dont les colonnes se suivent (logique!)
A,B,D,E,F etc
Je voudrais copier cette feuille dans une autre avec son contenu en
déplaçant les colonnes, par exemple:
D,A,E,F,B
Comment s'y prendre par une macro sans-doute.
Merci pour votre aide,
Jean-Luc





Avatar
JOLY Jean-Luc
Merci pour ta réponse, pas très avec le code, j'ai pris la seconde somution,
moins "pro"
Jean-Luc


Bonjour Jean-Luc,

Il y a ceci :

Adapte le nom des feuilles... et assure toi que tu indiques le
même nombre de colonnes de destination qu'il y a de colonnes
dans ta plage source ....

'---------------------------
Sub test()

Dim A As Integer
Dim Arr As Variant
' D,A,E,F,B
'Représente l'index de la colonne où tu veux copier tes données
Arr = Array(4, 1, 5, 6, 2)

On Error Resume Next
With Worksheets("Feuil1")
For Each c In .Range("A:F").Columns
c.Copy Worksheets("Feuil2").Cells(1, Arr(A))
A = A + 1
Next
End With

End Sub
'---------------------------


Salutations!



"JOLY Jean-Luc" a écrit dans le message de news:

Bonjour,
Je reçois des feuilles dont les colonnes se suivent (logique!)
A,B,D,E,F etc
Je voudrais copier cette feuille dans une autre avec son contenu en
déplaçant les colonnes, par exemple:
D,A,E,F,B
Comment s'y prendre par une macro sans-doute.
Merci pour votre aide,
Jean-Luc