| ||||||||
Petit astucien | Bonjour,
Après de nombreuses recherche je n'arrive pas à trouver comment trier les dix plus grandes valeurs et les placer dans cette macro La colonne B est la désignation et P la colonne a triée qui représente un pourcentage Je voudrais placer la valeur du tri dans cette fonction à la place des "range" car là, j'ai la totalité des lignes .SetSourceData Source:=Sheets(1).Application.Union(Range("B14:B128"), Range("P14:P128"))
Subgraphique()
Modifié par djambo le 13/06/2013 17:31 | |||||||
Publicité | ||||||||
| ||||||||
Petit astucien | Bonsoir, Il faudrait trier les données par ordre décroissant avant de sélectionner les 10 premières lignes de la plage. | |||||||
Petit astucien | Bonoir,
j'en conviens mais je ne sais pas comme remplacer les definition de cellules dans range dans cette instruction .SetSourceData Source:=Sheets(1).Application.Union(Range("B14:B28"), Range("P14:P28")) il y a bien ce type SORT Range("B14:P28").Sort Key1:=Range("P1"), Order1:=xlAscending,,, Header:=xlGuess, OrderCustom:=1,MatchCase:= False, Orientation:=xlTopToBottom mais son utilisation n'est pas simple comment l'utiliser, peut-on dire variable range(....).sort....., mais ensuite dans le .setsourcedate comment l'intégrer cordialement | |||||||
Petit astucien | Bonjour, Je viens de remarquer .SetSourceData Source:=Sheets(1).Application.Union(Range("B14:B128"), Range("P14:P128")) et dans la procédure .SetSourceData Source:=Sheets(1).Application.Union(Range("B14:B28"), Range("P14:P28")) De plus entre B14 et B28 il y 15 lignes et pas 10
| |||||||
Petit astucien | Bonjour,
Oui tu as raison, mais c'était pour un affichage du graphique pour y voir la dimension pour dix sélections. Je voudrais cette instruction remplacer le contenu du range par un tableau qui représente les données triés et si on ne peux placer un tableau, chose que je n'ai pas réussis à faire, il y a la fonction Sort, mais là encore comme faire. P étant la colonne à trier B étant la désignation de la zone triée .SetSourceData Source:=Sheets(1).Application.Union(Range("tableau"), Range("tableau")) Cette application permet de donner un comparatif sur les antivirus en teste personnel, l'image devrais te faire comprendre mieux. Les données dans le tableau ne sont pas réelles, rien que du teste.
Cordialement,
Modifié par djambo le 14/06/2013 14:52 | |||||||
Petit astucien | Re, Voilà un exemple de tri par âge d'une liste d'enfants. Je ne sais pas si cela t'aidera, mais tu peux voir comment je délimite la plage à trier. Sub Tri_Age() ' ' Tri par age croissant dans Excel 2007 ''Lig1 = première ligne derlig = dernière ligne du tableau col1 1ère colonne dercol = dernière colonne du tableau Dim lig1 As Integer, derlig As Integer, col1 As Integer, dercol As Integer ActiveSheet.Unprotect 'Déterminer les limites du tableau lig1 = 3: derlig = Range("A65536").End(xlUp).Row col1 = 1: dercol = Range("IV3").End(xlToLeft).Column 'Sélectionner le tableau en fonction des limites trouvées Range(Cells(lig1, col1), Cells(derlig, dercol)).Select 'Tri par âge de la liste d'enfants les âges sont en colone 7 ActiveWorkbook.Worksheets("Renseignements").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Renseignements").Sort.SortFields.Add Key:=Range( _ Cells(lig1 + 1, 7), Cells(derlig, 7)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Renseignements").Sort .SetRange Range(Cells(lig1, col1), Cells(derlig, dercol)) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 'Remet le curseur en A3 Range("A3").Select ActiveSheet.Protect End Sub Si tu pouvais mettre ton fichier avec des données bidons on pourrait programmer la procédure pour fair le tri puis la sélection des données du graphique.
| |||||||
Petit astucien | Ok, je te mets le fichier, je suis en version excel 2007
http://www.sendspace.com/file/jscbb7
normalement la version fonctionne sans le tri bien sûr, une amie l'a essayée, donc le voilà merci de ton aide, | |||||||
Petit astucien | Bonsoir à tous,
Un grand merci à rj390111 sans qui, mon problème ne serais pas résolu. Cordialement, | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|