Autres Trie dans une feuille en VBA

FOUQUET Yves

XLDnaute Occasionnel
Bonjour,

Je veux faire un trie par ordre ALPHABETIQUE dans une feuille Excel avec du VBA.
Ma feuille s'appelle "Effectif" et comporte des colonnes de A à O et des enregistrements illimités. 448 actuellement.
La colonne des noms est la colonne B et mon tableau comporte des entêtes sur la ligne 1

NOMPRENOMADHESIONCotisStatutAdresseC_postalVilleMailNaissanceSexProfessio,N°bisRelance

Si j'ajoute un nom en fin de tableau, et que je veuille trier le tableau ça ne fonctionne pas... grrrrrrrrrr!!!
J'ai utilisé cette commande qui avait l'air de fonctionner mais plus maintenant.

VB:
Private Sub CommandButton1_Click()
' --------- trier par nom ----------
    Sheets("Effectif").Select
    Range("A1:O" & [A65536].End(3).Row).Sort Key1:=Range("B2"), Order1:=xlAscending, _
    Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
    Sheets("Effectif").Select
    '------------------------------------
End Sub
Où est l'erreur ?

Merci de vos lumières...
Yves
 

FOUQUET Yves

XLDnaute Occasionnel
En fait la colonne A (numero) est quelques fois vide et surtout quand on ajoute une fiche elle reste vide.
Il a suffit que j'y mette un numéro pour que le trie fonctionne...
Sauf que je n'aurai pas toujours un numero dans la colonne A. Comment puis je contourner ce problème ?
 

job75

XLDnaute Barbatruc
Bonjour FOUQUET Yves,

Pas besoin de limiter la zone de tri :
VB:
Private Sub CommandButton1_Click()
With Sheets("Effectif")
    .[A:O].Sort .[B1], xlAscending, Header:=xlYes
End With
End Sub
A+
 

job75

XLDnaute Barbatruc
Et si la macro est dans la feuille que l'on veut trier il est inutile de préciser la feuille :
VB:
Private Sub CommandButton1_Click()
[A:O].Sort [B1], xlAscending, Header:=xlYes
End Sub
 

Discussions similaires


Haut Bas