Comment : trier des données par programme dans les feuilles de calcul
Mise à jour : Juillet 2008
S'applique à |
---|
Les informations de cette rubrique s'appliquent uniquement aux projets et versions Visual Studio Tools pour Office spécifiés de Microsoft Office. Type de projet
Version de Microsoft Office
Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet. |
Vous pouvez trier des données qui sont contenues dans des listes et des plages de feuille de calcul au moment de l'exécution. Le code suivant trie une plage à colonnes multiples nommée Fruits selon les données de la première colonne, puis selon les données de la deuxième.
À compter de Visual Studio 2008 Service Pack 1 (SP1), vous pouvez trier des données au moment de l'exécution dans des compléments d'application.
Tri de données dans une personnalisation au niveau du document
Pour trier des données dans un contrôle NamedRange
Appelez la méthode Sort du contrôle NamedRange. L'exemple suivant nécessite un contrôle NamedRange nommé Fruits sur une feuille de calcul. Ce code doit être placé dans une classe sheet et non dans la classe ThisWorkbook.
Me.Fruits.Sort( _ Key1:=Me.Fruits.Columns(1), Order1:=Excel.XlSortOrder.xlAscending, _ Key2:=Me.Fruits.Columns(2), Order2:=Excel.XlSortOrder.xlAscending, _ Orientation:=Excel.XlSortOrientation.xlSortColumns, _ Header:=Excel.XlYesNoGuess.xlNo, _ SortMethod:=Excel.XlSortMethod.xlPinYin, _ DataOption1:=Excel.XlSortDataOption.xlSortNormal, _ DataOption2:=Excel.XlSortDataOption.xlSortNormal, _ DataOption3:=Excel.XlSortDataOption.xlSortNormal)
this.Fruits.Sort( this.Fruits.Columns[1, missing], Excel.XlSortOrder.xlAscending, this.Fruits.Columns[2, missing], missing, Excel.XlSortOrder.xlAscending, missing, Excel.XlSortOrder.xlAscending, Excel.XlYesNoGuess.xlNo, missing, missing, Excel.XlSortOrientation.xlSortColumns, Excel.XlSortMethod.xlPinYin, Excel.XlSortDataOption.xlSortNormal, Excel.XlSortDataOption.xlSortNormal, Excel.XlSortDataOption.xlSortNormal);
Placez le code suivant dans Sheet1.vb ou Sheet1.cs pour trier les données dans un contrôle ListObject . Le code suppose que vous disposez d'un contrôle Microsoft.Office.Tools.Excel.ListObject nommé fruitList dans une feuille de calcul nommée Sheet1.
Pour trier des données dans un contrôle ListObject
Appelez la méthode Sort de la propriété Range du contrôle hôte ListObject.
Me.fruitList.Range.Sort( _ Key1:=Me.fruitList.ListColumns(1).Range, Order1:=Excel.XlSortOrder.xlAscending, _ Key2:=Me.fruitList.ListColumns(2).Range, Order2:=Excel.XlSortOrder.xlAscending, _ Orientation:=Excel.XlSortOrientation.xlSortColumns, _ Header:=Excel.XlYesNoGuess.xlYes)
this.fruitList.Range.Sort( this.fruitList.ListColumns[1].Range, Excel.XlSortOrder.xlAscending, this.fruitList.ListColumns[2].Range, missing, Excel.XlSortOrder.xlAscending, missing, Excel.XlSortOrder.xlAscending, Excel.XlYesNoGuess.xlYes, missing, missing, Excel.XlSortOrientation.xlSortColumns, Excel.XlSortMethod.xlPinYin, Excel.XlSortDataOption.xlSortNormal, Excel.XlSortDataOption.xlSortNormal, Excel.XlSortDataOption.xlSortNormal);
Tri de Données dans un Complément d'application
Pour trier des données dans une plage native
Appelez la méthode Sort du contrôle Microsoft.Office.Interop.Excel.Range Excel natif. L'exemple suivant requiert un contrôle Excel natif nommé Fruits sur une feuille de calcul.
Dim Fruits As Excel.Range = Me.Application.Range("A1", "B2") Fruits.Sort( _ Key1:=Fruits.Columns(1), Order1:=Excel.XlSortOrder.xlAscending, _ Key2:=Fruits.Columns(2), Order2:=Excel.XlSortOrder.xlAscending, _ Orientation:=Excel.XlSortOrientation.xlSortColumns, _ Header:=Excel.XlYesNoGuess.xlNo, _ SortMethod:=Excel.XlSortMethod.xlPinYin, _ DataOption1:=Excel.XlSortDataOption.xlSortNormal, _ DataOption2:=Excel.XlSortDataOption.xlSortNormal, _ DataOption3:=Excel.XlSortDataOption.xlSortNormal)
Excel.Range Fruits = Application.get_Range("A1", "B3"); Fruits.Sort( Fruits.Columns[1, missing], Excel.XlSortOrder.xlAscending, Fruits.Columns[2, missing], missing, Excel.XlSortOrder.xlAscending, missing, Excel.XlSortOrder.xlAscending, Excel.XlYesNoGuess.xlNo, missing, missing, Excel.XlSortOrientation.xlSortColumns, Excel.XlSortMethod.xlPinYin, Excel.XlSortDataOption.xlSortNormal, Excel.XlSortDataOption.xlSortNormal, Excel.XlSortDataOption.xlSortNormal);
Pour trier des données dans un contrôle ListObject
Appelez la méthode Sort de la propriété Range du contrôle Microsoft.Office.Interop.Excel.ListObject Excel natif. L'exemple suivant suppose que vous avez un contrôle Excel natif Microsoft.Office.Interop.Excel.ListObject nommé fruitList dans la feuille de calcul active.
Dim fruitList As Excel.ListObject = CType(Application.ActiveSheet, _ Excel.Worksheet).ListObjects.AddEx(Excel.XlListObjectSourceType.xlSrcRange, _ Application.Range("A1", "B2")) fruitList.Range.Sort( _ Key1:=fruitList.ListColumns(1).Range, Order1:=Excel.XlSortOrder.xlAscending, _ Key2:=fruitList.ListColumns(2).Range, Order2:=Excel.XlSortOrder.xlAscending, _ Orientation:=Excel.XlSortOrientation.xlSortColumns, _ Header:=Excel.XlYesNoGuess.xlYes)
Excel.ListObject fruitList = ((Excel.Worksheet)Application.ActiveSheet). ListObjects.Add(Microsoft.Office.Interop.Excel.XlListObjectSourceType.xlSrcRange, Application.get_Range("A1", "B3"), missing, Microsoft.Office.Interop.Excel.XlYesNoGuess.xlNo, missing); fruitList.Range.Sort( fruitList.ListColumns[1].Range, Excel.XlSortOrder.xlAscending, fruitList.ListColumns[2].Range, missing, Excel.XlSortOrder.xlAscending, missing, Excel.XlSortOrder.xlAscending, Excel.XlYesNoGuess.xlYes, missing, missing, Excel.XlSortOrientation.xlSortColumns, Excel.XlSortMethod.xlPinYin, Excel.XlSortDataOption.xlSortNormal, Excel.XlSortDataOption.xlSortNormal, Excel.XlSortDataOption.xlSortNormal);
Voir aussi
Tâches
Comment : remplir automatiquement des plages avec des données soumises à modification incrémentielle
Comment : faire référence aux plages de la feuille de calcul dans le code
Comment : appliquer des styles à des plages dans les classeurs
Concepts
Utilisation des feuilles de calcul
Fonctionnement des paramètres optionnels dans les solutions Office
Historique des modifications
Date |
Historique |
Raison |
---|---|---|
Juillet 2008 |
Ajout d'un exemple de code qui peut être utilisé dans un complément d'application. |
Commentaires client. |