tri avec VBA

francky80

XLDnaute Nouveau
Bonjour a tous je demande un peu d’aide a ce qui veule m’aider voila mon problème j’ai un fichier avec des saisies et un bouton pour effectuer un tri par catégorie d’article mais le problème c’est quand je rentre des nouvelles saisies il ne me les prend pas en compte je ne sais pourquoi? une petite solution a mon problème serais la bien venu merci a vous. Encore merci a myDearFriend! pour l’aide qu’il m’a porté à la création de ce fichier pour trier les catégories.

Bonne journée a tous merci a tout le forum pour l'aide apporté

[file name=Francky80.zip size=16981]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Francky80.zip[/file]
 

Pièces jointes

  • Francky80.zip
    16.6 KB · Affichages: 23
G

GIBI

Guest
bonjour,

tu peux nommer la plage de cellule;, mais il faut ajouter les lignes dans le tableau c'est à dire avant la derniere ligne ou utiliser le menu donnée/formulaire

tu peux selectionner le tableau avant tri

Range('XX').Select
Selection.CurrentRegion.Select

Selection.Sort Key1:=Cells(PremLigne, NCR(1)), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir francky80, GIBI,

Sauf erreur de ma part francky, ton problème tient sa source uniquement d'un problème de format de valeur dans les cellules 'date' de ta feuil1.

Pour t'en apercevoir, dans ta feuille, si tu supprimes l'alignement centré des cellules de date (plage B6:B21), je ne sais pourquoi mais tu t'apercevras que tes 'dates' sont alignées sur la gauche de la cellule (ce qui démontre un format Texte et non un format Date pour ces valeurs). Ensuite, si tu saisis une nouvelle ligne, tu verras la date alignée automatiquement à droite de la cellule (ce qui démontre cette fois un 'vrai' format Date).

Tu trouveras ci-joint ton fichier modifié en conséquence... et pour contourner ce problème à l'avenir, j'ai également modifié une ligne de la macro :
If TabTemp(L, 1) = ComboBox1.Value Then
'Modifié en :
If TabTemp(L, 1) = CDate(ComboBox1.Value) Then
Pendant que j'y étais, je me suis permis de modifier la procédure Initialize() de ton userform pour le chargement du ComboBox1 avec des dates sans doublon (j'ai utilisé une collection ce qui permet de simplifier grandement le code).

Cordialement, [file name=PourFrancky80_2.zip size=19160]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PourFrancky80_2.zip[/file]
 

Pièces jointes

  • PourFrancky80_2.zip
    18.7 KB · Affichages: 14

Discussions similaires