Déplacer en fin de tableau si
Résolu
Viking58
Messages postés
186
Date d'inscription
Statut
Membre
Dernière intervention
-
Viking58 Messages postés 186 Date d'inscription Statut Membre Dernière intervention -
Viking58 Messages postés 186 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à toutes et tous.
Je voudrais une macro pour un bouton:
Dans ma colonne A:
1) Que tout ce qui n'est pas une date se retrouve en bas de tableau.
(après les dates)
2) Effectuer un tri sur cette colonne de la date la plus ancienne à la plus récente.
(Comme un tri A-Z)
Merci.
Bonne semaine.
Je voudrais une macro pour un bouton:
Dans ma colonne A:
1) Que tout ce qui n'est pas une date se retrouve en bas de tableau.
(après les dates)
2) Effectuer un tri sur cette colonne de la date la plus ancienne à la plus récente.
(Comme un tri A-Z)
Merci.
Bonne semaine.
A voir également:
- Déplacer en fin de tableau si
- Tableau word - Guide
- Déplacer colonne excel - Guide
- Tableau ascii - Guide
- Fin des zfe - Guide
- Trier un tableau excel - Guide
2 réponses
Bonjour,
En supposant qu'il s'agit d'un tableau multi-colonnes avec des titres de colonnes, essaies ce code
En supposant qu'il s'agit d'un tableau multi-colonnes avec des titres de colonnes, essaies ce code
Sub TriSpécial() Dim t() As Variant Dim r As Range Dim c As Long Dim i As Long Set r = Range("A1").CurrentRegion c = r.Columns.Count r.Resize(, 2).Offset(0, c).Clear t = Application.Transpose(r.Columns(1).Value) For i = LBound(t) + 1 To UBound(t) If IsDate(t(i)) Then r(i, c).Offset(0, 1).FormulaLocal = t(i) Else r(i, c).Offset(0, 1).Value = "" r(i, c).Offset(0, 2).NumberFormat = r(i, 1).NumberFormat r(i, c).Offset(0, 2).FormulaLocal = r(i, 1).FormulaLocal End If Next Set r = Range("A1").CurrentRegion r.Sort Key1:=r(1, c + 1), Order1:=xlAscending, _ Key2:=r(1, c + 2), Order2:=xlAscending, _ Header:=xlYes r.Resize(, 2).Offset(0, c).Clear End Sub
Excel me renvoie une erreur "Erreur d'exécution 1004", référence de tri non valide:
sur ces lignes:
r.Sort Key1:=r(1, c + 1), Order1:=xlAscending, _
Key2:=r(1, c + 2), Order2:=xlAscending, _
Header:=xlYes
ajoutes avant le r.sort :
MsgBox r.Address