macro tri alpha

polisconne

XLDnaute Junior
Bonjour,
je voudrais faire une macro pour trier par ordre alphabétique un tableau et que les cellules vides de noms ne se retrouvent en haut.
Le tableau est lié à un autre.
J'ai déjà posé la question mais la macro proposée ne fonctionne pas bien.
J'attends votre réponse.
Merci d'avance
JYD
 

JCGL

XLDnaute Barbatruc
Re : macro tri alpha

Bonjour à tous,

Réactivation de tous les boutons et je ne constate pas souci si cellules vides

VB:
Sub Tri_Noms()
With ActiveSheet
    .Unprotect "3132"
    .Range("A8:O42").Sort Key1:=.Range("B8"), Order1:=xlAscending, Header:=xlNo
    .Protect "3132", True, True, True
End With
Cells(7, 2).Select
End Sub


Sub Tri_Classes()
With ActiveSheet
    .Unprotect "3132"
    .Range("A8:O42").Sort Key1:=.Range("A8"), Order1:=xlAscending, Header:=xlNo
    .Protect "3132", True, True, True
End With
Cells(7, 2).Select
End Sub


Sub Tri_Equipes()
With ActiveSheet
    .Unprotect "3132"
    .Range("A8:O42").Sort Key1:=.Range("E8"), Order1:=xlAscending, Header:=xlNo
    .Protect "3132", True, True, True
End With
Cells(7, 2).Select
End Sub


Sub Tri_Equipes_Liste()
With ActiveSheet
    .Unprotect "3132"
    .Range("A6:E40").Sort Key1:=.Range("E6"), Order1:=xlAscending, Header:=xlNo
    .Protect "3132", True, True, True
End With
Cells(5, 2).Select
End Sub


Sub Réinitialiser()
Reponse = MsgBox("Etes-vous sûr de vouloir tout supprimer", vbQuestion + vbYesNo)
If Reponse = vbYes Then
Feuil1.[A6:E40,E2:H2,E3,H3].ClearContents
Feuil2.[F8:J42,M8:O42].ClearContents
End If
End Sub

A+ à tous
 

Pièces jointes

  • JC notauto bac Basket.4.xls
    117 KB · Affichages: 59

JCGL

XLDnaute Barbatruc
Re : macro tri alpha

Bonjour à tous,

Ce sont des formules qui servaient à trouver la dernière ligne.
Tu peux les effacer et remplacer les codes du module de la feuille "Bilan" par :

VB:
Private Sub CommandButton1_Click()
Dim DerL&
DerL = Application.WorksheetFunction.CountIf(Range("A8:A43"), ">0") + 7
ActiveSheet.Unprotect "3132"
    Range("A7:L" & DerL).Sort Key1:=Range("B7"), Order1:=xlAscending, Header:=xlYes
ActiveSheet.Protect "3132", True, True, True
End Sub

Private Sub CommandButton2_Click()
Dim DerL&
DerL = Application.WorksheetFunction.CountIf(Range("A8:A43"), ">0") + 7
ActiveSheet.Unprotect "3132"
    Range("A7:L" & DerL).Sort Key1:=Range("A7"), Order1:=xlAscending, Header:=xlYes
ActiveSheet.Protect "3132", True, True, True
End Sub

A+ à tous
 

polisconne

XLDnaute Junior
Re : macro tri alpha

Bonjour JCGL

il y a un truc que je ne comprends pas. Quand je tri alphabétique avec tes dernières formules, ça marche mais pas pour la 1ère qui ne change pas!
Comment est ce possible.

Sub trialpha()
Dim DerL&
DerL = Application.WorksheetFunction.CountIf(Range("A8:A43"), ">0") + 7
ActiveSheet.Unprotect "3132"
Range("A7:L" & DerL).Sort Key1:=Range("B7"), Order1:=xlAscending, Header:=xlYes
ActiveSheet.Protect "3132", True, True, True
End Sub

je joins à nouveau mon fichier.
Merci
JYD
 

Pièces jointes

  • notauto escalade term 2013.12.xls
    164 KB · Affichages: 52
  • notauto escalade term 2013.12.xls
    164 KB · Affichages: 61
  • notauto escalade term 2013.12.xls
    164 KB · Affichages: 66

Discussions similaires

Réponses
26
Affichages
846
Réponses
31
Affichages
1 K
Réponses
4
Affichages
303

Statistiques des forums

Discussions
312 322
Messages
2 087 279
Membres
103 507
dernier inscrit
tapis23