Déplacer des colonnes dans un ordre en vba

bloublou

XLDnaute Occasionnel
Bonsoir à tous,

Je voudrais déplacer les colonnes de la feuille 1 dans l'ordre de la feuille 2 en vba ? :confused:

Pouvez-vous m'aider ?

Bonne nuit

BlouBlou
 

Pièces jointes

  • Classeur1.xls
    18.5 KB · Affichages: 92
  • Classeur1.xls
    18.5 KB · Affichages: 97
  • Classeur1.xls
    18.5 KB · Affichages: 88

pierrejean

XLDnaute Barbatruc
Re : Déplacer des colonnes dans un ordre en vba

Re

Un autre essai améliorant le précédent sans vouloir rivaliser avec la solution de Gerard

Code:
Sub essai2()
Dim a, b, dico
Dim n As Integer, y As Range, col As Integer
Sheets.Add.Name = "temp"
Sheets("Feuil1").Cells.Copy Destination:=Sheets("temp").Range("A1")
Set dico = CreateObject("Scripting.dictionary")
For n = 1 To Sheets("Feuil2").Cells(1, Columns.Count).End(xlToLeft).Column
 If Sheets("Feuil2").Cells(1, n) <> "" Then
  dico(Sheets("Feuil2").Cells(1, n)) = n
 End If
Next
a = dico.keys
b = dico.items
Sheets("Feuil1").Cells.ClearContents
For n = LBound(a) To UBound(a)
   Set y = Sheets("temp").Rows(1).Find(a(n), LookIn:=xlValues, lookat:=xlWhole)
   col = y.Column
   Sheets("temp").Columns(col).Copy Destination:=Sheets("Feuil1").Columns(b(n))
Next
Application.DisplayAlerts = False
Sheets("temp").Delete
Application.DisplayAlerts = True
End Sub
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
185