C'est parfaitBonsoir.
Essayez comme ça :
VB:Option Explicit Sub OrdreColonnes() Dim TTit(), CDst%, COrg% TTit = [R1:R13].Value For CDst = 1 To UBound(TTit, 1) On Error Resume Next COrg = WorksheetFunction.Match(TTit(CDst, 1), [A1:M1], 0) If Err Then COrg = 0 On Error GoTo 0 If COrg > CDst Then Columns(COrg).Cut Columns(CDst).Insert End If Next CDst End Sub
Option Explicit
Sub OrdreColonnes()
Dim TTit(), CDst%, COrg%
TTit = [R1:R13].Value
For CDst = 1 To UBound(TTit, 1)
On Error Resume Next
COrg = WorksheetFunction.Match(TTit(CDst, 1), [A1:M1], 0)
If Err Then COrg = 0
On Error GoTo 0
If COrg > CDst Then
Columns(COrg).Cut
Columns(CDst).Insert
End If
Next CDst
End Sub
Bonsoir,Bonjour à tous !
Je souhaite un code VBA qui Modifier l'ordre de mes colonnes ("A:M") selon l'ordre de la colonne R
Merci d'avance de votre aide
Sub Tri_horizontal()
Application.ScreenUpdating = False
[r1:r13].Name = "P" 'nom défini
Rows(1).Insert 'insère une ligne 1 auxiliaire
Range("a1:m1") = "=MATCH(a2,P,0)" 'repères pour le tri
Range("a1:m" & Rows.Count).Sort Rows(1), xlAscending, Orientation:=2 'tri horizontal
Rows(1).Delete 'supprime la ligne auxiliaire
End Sub
C'est parfaitBonsoir.
Essayez comme ça :
VB:Option Explicit Sub OrdreColonnes() Dim TTit(), CDst%, COrg% TTit = [R1:R13].Value For CDst = 1 To UBound(TTit, 1) On Error Resume Next COrg = WorksheetFunction.Match(TTit(CDst, 1), [A1:M1], 0) If Err Then COrg = 0 On Error GoTo 0 If COrg > CDst Then Columns(COrg).Cut Columns(CDst).Insert End If Next CDst End Sub