UDF > Excel >


_Excel_RangeSort

Trie une plage de cellules

#include <Excel.au3>
_Excel_RangeSort ( $oWorkbook, $vWorksheet, $vRange, $vKey1 [, $iOrder1 = $xlAscending [, $iSortText = $xlSortNormal [, $iHeader = $xlNo [, $bMatchcase = False [, $iOrientation = $xlSortRows [, $vKey2 = Default [, $iOrder2 = Default [, $vKey3 = Default [, $iOrder3 = Default]]]]]]]]] )

Paramètres

$oWorkbook Objet classeur Excel
$vWorksheet Nom, index ou objet feuille de calcul où se fera le trie. Si la valeur est Default, la feuille active sera utilisée
$vRange Un objet plage, une plage au format $xlA1 ou le mot-clé Default pour trier la feuille de calcul entière (par défaut = mot-clé Default)
$vKey1 Indique le premier champ de tri, soit comme une plage $xlA1 ou un objet plage
$iOrder1 [optionnel] Détermine l'ordre de tri. Peut être toute valeur de l'énumération XlSortOrder (par défaut = $xlAscending)
$iSortText [optionnel] Spécifie comment trier le texte dans $vKey1, $$vKey2 et $vKey3. Peut être toute valeur de l'énumération XlSortDataOption (par défaut = $xlSortNormal)
$iHeader [optionnel] Indique si la première ligne contient des informations d'en-tête. Peut être toute valeur de l'énumération XlYesNoGuess (par défaut = $xlNo)
$bMatchCase [optionnel] True pour effectuer un tri sensible à la casse, False pour effectuer un tri non sensible à la casse (par défaut = False)
$iOrientation [optionnel] Spécifie l'orientation du tri. Peut être toute valeur de l'énumération XlSortOrientation (par défaut = $xlSortColumns)
$vKey2 [optionnel] Voir $vKey1
$iOrder2 [optionnel] Voir $iOrder1
$vKey3 [optionnel] Voir $vKey1
$iOrder3 [optionnel] Voir $iOrder1

Valeur de retour

Succès: Retourne un objet plage triée.
Échec: Retourne 0 et définit @error <> 0.
@error: 1 - $oWorkbook n'est pas un objet ou n'est pas un objet classeur
2 - Le nom ou l'index $vWorksheet n'est pas valide ou $vWorksheet n'est pas un objet feuille de calcul. @extended contient le code d'erreur COM
3 - $vRange n'est pas valide. @extended contient le code d'erreur COM
4 - $vKey1 n'est pas valide. @extended contient le code d'erreur COM
5 - $vKey2 n'est pas valide. @extended contient le code d'erreur COM
6 - $vKey3 n'est pas valide. @extended contient le code d'erreur COM
7 - Erreur renvoyée par la méthode Sort. @extended contient le code d'erreur COM

Exemples

Exemple 1

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Crée un objet Excel et ouvre un classeur exemple
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; Trie une plage avec entêtes par ordre croissant sur la colonne I
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple 1", "Pressez OK pour trier la plage  I1:K7. La clé est la colonne I.")
_Excel_RangeSort($oWorkbook, Default, "I1:K7", "I:I", Default, Default, $xlYes)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple 1", "Erreur lors du tri des données." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple 1", "Les données sont triées avec succès dans la plage I1:K7")


Exemple 2

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Crée un objet Excel et ouvre un classeur
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Trie une plage avec entêtes par ordre décroissant sur la colonne K. Trie les nombres sous forme de texte
; *****************************************************************************
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple 2", "Pressez OK pour trier la plage  I1:K7. La clé est la colonne K.")
_Excel_RangeSort($oWorkbook, Default, "I1:K7", "K:K", $xlDescending, Default, $xlYes)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple 2", "Erreur lors du tri des données." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple 2", "Données triées avec succès dans la plage I1:K7")


Exemple 3

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Crée un objet Excel et ouvre un classeur
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Trie une plage avec entêtes par ordre décroissant sur la ligne 1 (colonne d'entêtes)
; *****************************************************************************
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple 3", "Pressez OK pour trier la plage  I1:K7. La clé est 1.")
_Excel_RangeSort($oWorkbook, Default, "I1:K7", "1:1", $xlDescending, Default, $xlYes, Default, $xlSortRows)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple 3", "Erreur lors du tri des données." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeSort-Exemple 3", "Données triées avec succès dans la plage I1:K7")