Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Pbl pour déplacer colonne suivant variable dans une cellule

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 !

spyderdvd

XLDnaute Nouveau
Bonjour à tous,

je viens vers vous car je ne suis un novice dans le langage VBA et là j'ai beau essayer je n'y arrive pas.

Voici ma problématique j'ai un fichier Excel avec des colonnes nommées de manières différentes sur la ligne 7.
Malheureusement pour moi, suivant mes extraction ces colonnes ne sont pas forcément à la même place mais elles gardent toutes le même nom.

Je cherche donc une macro qui ferait
Si sur la ligne 7 le nom = Libelle UI alors coupe la colonne (contenant Libelle UI sur la ligne 7) et l'insérer en 1ère
Si sur la ligne 7 le nom = circuit alors coupe la colonne (contenant circuit sur la ligne 7 ) et l'insérer en 2ém
Si sur la ligne 7 le nom = route alors coupe la colonne (contenant route sur la ligne 7) et l'insérer en 3ém

Comme cela je pourrais avoir mes colonnes Libelle UI en 1er , circuit toujours en 2ème, route toujours en 3ème.

Merci pour votre aide
 

Pièces jointes

Merci Oranger, effectivement ça marche et je n'aurais jamais pu trouver cela tout seul.
Par contre quand je recopie la macro nommer main dans une macro 1 et que je la lance, rien ne se produit ?
J'ai refais le test sur ton fichier réponse (sans être passer par le bouton gris) et rien ne se produit,
pourtant dès que j'appuis à nouveau sur le bouton gris qui appelle main ça fonctionne ?
J'ai mis mon copier/Coller dans le fichier text, ai-je fais une mauvaise manip ?
ou y a-t-il une autre manip à faire ?
 

Pièces jointes

Bonjour,

La macro "main" est lié au bouton via la feuille "Feuil1" ->Export TPO grâce à l'instruction ci-dessous. Donc si tu changes le nom de la macro il faut aussi changer le nom dans feuil1 et mettre "Call Macro1" au lieu de Call "main"

Private Sub CommandButton1_Click()
Call main
End Sub

Cdlt,

Oranger
 
Bonjour spyderdvd, Oranger,

Fichier joint avec cette macro très simple :
Code:
Sub Tri_Horizontal()
Application.ScreenUpdating = False
On Error Resume Next 'si une recherche n'aboutit pas
With [A7].CurrentRegion
    .Rows(1).Find("Libelle UI", , xlValues, xlWhole).Offset(-1) = 1
    .Rows(1).Find("circuit").Offset(-1) = 2
    .Rows(1).Find("route").Offset(-1) = 3
    Union(.Rows(0), .Cells).Sort .Rows(0), xlAscending, Orientation:=2 'tri horizontal
    .Rows(0) = ""
End With
End Sub
A+
 

Pièces jointes

Bonjour spyderdvd, le forum,

Une variante dans ce fichier (2) qui utilise la 1ère ligne sous le tableau :
Code:
Sub Tri_Horizontal()
'se lance par les touches Ctrl+T
Application.ScreenUpdating = False
On Error Resume Next 'si une recherche n'aboutit pas
With [A1].CurrentRegion
    .Rows(1).Find("Libelle UI", , xlValues, xlWhole).Offset(.Rows.Count) = 1
    .Rows(1).Find("circuit").Offset(.Rows.Count) = 2
    .Rows(1).Find("route").Offset(.Rows.Count) = 3
    Union(.Rows(.Rows.Count + 1), .Cells).Sort .Rows(.Rows.Count + 1), xlAscending, Orientation:=2 'tri horizontal
    .Rows(.Rows.Count + 1) = ""
End With
End Sub
A+
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…