[VBA] changer l'ordre des colonnes

  • Initiateur de la discussion Initiateur de la discussion swan
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

swan

XLDnaute Junior
Bonjour,

voilà mon travail: j'ai un fichier de données avec plusieurs colonnes pour lesquelles je dois les ranger dans le bon ordre.
Par exemple, je reçois un fichier où le nom des colonnes sont dans cet ordre:

hh jj | aa dd | bb ee | gg ii | ff cc

je voudrais pouvoir utiliser une macro qui me range automatiquement les colonnes dans cet ordre:

aa dd | bb ee | ff cc | gg ii | hh jj


bien évidemment, je ne connais pas l'emplacement des colonnes.
Donc il faudrait une macro qui détecte sur toute la ligne A de 1 à n, d'abord la chaîne de caractères aa pour mettre
la colonne "aa dd" dans la première colonne puis détecte bb pour mettre la colonne "bb ee" dans la 2e, etc...

j'espère que je suis clair.

j'ai pensé que le code pourrait commencer de cette manière:

Dim i As Long
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row -->sauf que ça c'est un décompte sur toute une colonne
If InStr(Cells("A", i), "aa")
Then "placer dans la 1ere colonne"
...
 
Re : [VBA] changer l'ordre des colonnes

Bonjour swan,

Est-ce un hasard ou tu veux les classer dans l'ordre alphabétique ?
Si c'est le cas, sélectionne ta liste,
Menu Données - Trier
Bouton Options
coche De la gauche vers la droite
Ok
Choisis la ligne sur laquelle trier (ta ligne de titres)
Ok
 
Re : [VBA] changer l'ordre des colonnes

ah non ce n'est pas du tout par ordre alphabétique, désolé pour ce cas particulier. Dans mon vrai fichier c'est des mots à la place mais pour simplifier dans cet exemple, j'ai mis des lettres.
 
Re : [VBA] changer l'ordre des colonnes

Bonjour Boisgontier, j'ai pas très bien compris comment marche ton idée...

Mais j'ai pensé à autre chose:
l'utilisateur peut se servir de 2 listes déroulantes:

la 1ere:

choix de la colonne:
colonne A
colonne B
colonne C
colonne D

la 2e:

déplacer dans la:
colonne A
colonne B
colonne C
colonne D

ça me parait une bonne idée. Mais si vous avez la solution à mon premier post, ce serait excellent!
 
Re : [VBA] changer l'ordre des colonnes

Mon idée:

-En colonnes J:N (ou sur une autre feuile) des listes Données/Validation permettent de choisir la colonne
-Avec le filtre élaboré, on extrait les données correspondantes.

JB
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
572
  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
649
Retour