Lit la valeur, la formule ou le texte affiché à partir d'une cellule ou d'une plage de cellules du classeur et de la feuille de calcul spécifiés
#include <Excel.au3>
_Excel_RangeRead ( $oWorkbook [, $vWorksheet = Default [, $vRange = Default [, $iReturn = 1 [, $bForceFunc = False]]]] )
$oWorkbook | Objet classeur Excel |
$vWorksheet | [optionnel] Nom, index ou objet de feuille de calcul qui doit être lu. Si la valeur est le mot-clé Default, la feuille active sera utilisée (par défaut = mot-clé Default) |
$vRange | [optionnel] Un objet de plage ou une plage au format $xlA1. Si la valeur est Default, toutes les cellules utilisées seront traitées (par défaut = mot-clé Default ) |
$iReturn | [optionnel] Ce qu'il faut retourner de la cellule spécifiée: 1 - Valeur (par défaut) 2 - Formule 3 - Le texte affiché 4 - Value2. La seule différence entre Value and Value2 est que la propriété Value2 n'utilise pas les types de données Date et Currency |
$bForceFunc | [optionnel] True force l'utilisation de la fonction _ArrayTranspose au lieu de La méthode Transpose d'Excel (par défaut = False). Voir la section Remarques pour plus de détails. |
Succès: | Retourne les données de la/des cellule(s) spécifiée(s). Une chaîne par cellule, un tableau indexé à partir de 0 pour une plage de cellules. |
É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 de feuille de calcul. @extended contient le code d'erreur COM 3 - $vRange n'est pas valide. @extended contient le code d'erreur COM 4 - Le paramètre $iReturn n'est pas valide. Doit être > 1 et < 4 5 - Une erreur s'est produite lors de la lecture des données en utilisant la méthode de transpose. @extended contient le code d'erreur COM 6 - La taille maximale d'un tableau de AutoIt est dépassée (2 ^ 24 = 16777216 éléments) 7 - Une erreur s'est produite lors de la lecture des données en utilisant la fonction _ArrayTranspose. @extended contient le code d'erreur COM |
La méthode Transpose d'Excel a une limite non documentée sur le nombre de cellules qu'elle peut transposer (dépend de la version Excel).
Si vous transposez > 65535 cellules alors $bForceFunc est forcé à True.
La méthode de transposition Excel ne supporte pas les cellules avec plus de 255 caractères. Définissez $bForceFunc à True pour contourner cette limitation.
$iReturn = 3 permet seulement d'obtenir le texte affiché d'une cellule simple. Ceci est une limitation d'Excel.
#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_RangeRead-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_RangeRead-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; Lit les données à partir d'une seule cellule sur la feuille active du classeur spécifié Local $sResult = _Excel_RangeRead($oWorkbook, Default, "A1") If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeRead-Exemple 1", "Erreur lors de la lecture du classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeRead-Exemple 1", "Données lues avec succès." & @CRLF & "Value of cell A1: " & $sResult)
#include <Array.au3> #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_RangeRead-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_RangeRead-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; Lit les formules d'une plage de cellules sur la feuille 2 du classeur spécifié Local $aResult = _Excel_RangeRead($oWorkbook, 2, "A1:C1", 2) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeRead-Exemple 2", "Erreur lors de la lecture du classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeRead-Exemple 2", "Données lues avec succès." & @CRLF & "Svp, cliquez sur 'OK' pour afficher les formules des cellules A1:C1 de la feuille 2.") _ArrayDisplay($aResult, "UDF Excel: _Excel_RangeRead-Exemple 2 - Cellules A1:C1 de la feuille 2")
#include <Array.au3> #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_RangeRead-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_RangeRead-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; Lit les formules d'une plage de cellules (les cellules utilisées dans la colonne A) Local $aResult = _Excel_RangeRead($oWorkbook, Default, $oWorkbook.ActiveSheet.Usedrange.Columns("A:A"), 2) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeRead-Exemple 3", "Erreur lors de la lecture du classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeRead-Exemple 3", "Données lues avec succès." & @CRLF & "Svp, cliquez sur 'OK' pour afficher tooutes les formules de la colonne A.") _ArrayDisplay($aResult, "UDF Excel: _Excel_RangeRead-Exemple 3 - Formules de la colonne A")