Je souhaite classer un tableau en appuyant sur une touche que j'ai cree pour cet effet.
Seulement, mon tableau va evoluer dans le temps et je vais y ajouter des lignes. Ma plage de classement sera alors plus grande.
Pour cela, j'ai ecris le mot "FIN" dans la derniere case du tableau que je dois classer.
Lorsque je clique sur mon bouton de classement, je recherche en premier l'adresse de "FIN" pour connaitre la plage a classer et je mets cette adresse dans toto2.
Lorsque je defini ma plage (With Worksheets("Essai_bouton").Range("a2:toto2").Select), il y a un bug avec le methode .Range.
Est-ce normal ?
Ai-je le droit de faire ce que je fais ?
Voici mon code:
J'ai une deuxieme question.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Private Sub Classement_Click() With Worksheets("Essai_bouton").Range("k3:k30") Set toto = .Find("FIN", LookIn:=xlValues) toto2 = toto.Address End With With Worksheets("Essai_bouton").Range("a2:toto2").Select Selection.Sort _ Key1:=Range("J3"), Order1:=xlDescending, _ Key2:=Range("B3"), Order2:=xlDescending, _ Key3:=Range("A3"), Order3:=xlAscending, _ Header:=xlYes, _ OrderCustom:=1, _ MatchCase:=False, _ Orientation:=xlTopToBottom End With With Worksheets("Essai_bouton").Range("B3:toto2").Select Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlBottom Selection.WrapText = False Selection.Orientation = 0 Selection.AddIndent = False Selection.ShrinkToFit = False Selection.MergeCells = False End With End Sub
Admettons que toto2 = $k$9, comment dois-je faire pour definir ma plage a classer de,par exemple, $a$1 a $k$8 (c'est c'est a dire, la case d'avant)
Merci d'avance pour votre aide.
Boule
Partager