Blocage sur algo de tri de colonnes en VBA

Anne1969

XLDnaute Nouveau
Hello,

voilà, avant de faire un traitement sur un fichier en VBA, je dois remettre, si besoin est, les colonnes (suivant les noms de champs) dans le bon ordre.

Ex : en A1 :"1erChamp", en B1:"2emeChamp", en C1:"3emeChamp", en D1:"4emeChamp" serait le bon ordre...Mais je voudrais les remettre en ordre (et toute la colonne avec) si, par exemple, j'avais en A1 :"4emeChamp", en B1:"1erChamp", en C1:"3emeChamp", en D1:"2emeChamp"

J'ai pensé passer par un tableau initialisé avec les noms des champs dans le bon ordre

Dim monTableau(4) as String
monTableau = Array("1erChamp", "2emeChamp", "3emeChamp", "4emeChamp" )

Et ensuite de travailler sur les valeurs du range de A1 à C1 dans une boucle...mais je n'arrive pas à trouver un algo efficace...je me suis lancée dans une usine à gaz et il me semble que ça pourrait être assez "simple" (le tout est de savoir le faire, n'est-ce pas ;) )

Si vous avez les idées ?

Merci

Anne
 

wilfried_42

XLDnaute Barbatruc
Re : Blocage sur algo de tri de colonnes en VBA

bonjour anne

un tableau oui, mais une occurence par colonne

exemple 4 colonnes

Sub Bouton1_QuandClic()
Dim tablo(1 To 4) As Range
For i = 1 To 4
Set tablo(i) = Range(Chr(64 + i) & ":" & Chr(64 + i))
Next i
' Cells.Clear
Sheets(2).Range("A:A") = tablo(4).Value ' Colonne 4 ---> 1
Sheets(2).Range("C:C") = tablo(1).Value ' colonne 1 ---> 3
Sheets(2).Range("B:B") = tablo(2).Value ' colonne 2 ---> 2
Sheets(2).Range("D:D") = tablo(3).Value ' colonne 3 ---> 4
End Sub


Le resultat se trouve sur la feuille 2

Edit: Boujour Pierre-Jean
 

Discussions similaires

Réponses
5
Affichages
302

Statistiques des forums

Discussions
312 248
Messages
2 086 593
Membres
103 248
dernier inscrit
Happycat