UDF > Excel >


_Excel_RangeRead

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]]]] )

Param�tres

$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.

Valeur de retour

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

Remarque

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.

En relation

_Excel_RangeWrite

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_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)


Exemple 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 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")


Exemple 3

#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")