UDF > Excel >


_Excel_RangeWrite

�crit des valeurs ou des formules dans une cellule ou une plage de cellules dans le classeur et la feuille de calcul sp�cifi�s

#include <Excel.au3>
_Excel_RangeWrite ( $oWorkbook, $vWorksheet, $vValue [, $vRange = "A1" [, $bValue = True [, $bForceFunc = False]]] )

Param�tres

$oWorkbook Objet classeur Excel
$vWorksheet Nom, index ou objet feuille de calcul o� �crire. Si la valeur est le mot-cl� Default, la feuille active sera utilis�e
$vValue Peut �tre une cha�ne, un tableau 1D ou 2D index� � partir de z�ro contenant les donn�es � �crire dans la feuille
$vRange [optionnel] Une plage au format $xlA1 ou un objet plage (valeur par d�faut ="A1")
$bValue [optionnel] Si True, $vValeur sera �crite dans la propri�t� Value. Si False, $vValeur sera �crite dans la propri�t� Formula (par d�faut = True)
$bForceFunc [optionnel] True force � utiliser la fonction _ArrayTranspose � la place 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 l'objet plage des donn�es �crites.
�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 - Une erreur s'est produite lors de l'�criture des donn�es. @extended contient le code d'erreur COM

Remarques

Si $vRange est une cellule simple et $vValeur est un tableau, alors $vRange ser,a agrandipour contenir le tableau complet.
Cette plage "�largi" est ensuite retourn�e par la fonction.
Si $vRange n'est pas une cellule simple et $vValeur est un tableau et $vValeur > $vRange alors le tableau est tronqu�.
Si $vRange n'est pas une cellule simple et $vValeur est un tableau et $vValeur < $vRange alors les cellules qui d�passent obtiennent #NV.

La m�thode Transpose d'Excel a une limite non document�e � propos du nombre de cellules ou de lignes qu'elle peut transposer (d�pend de la version d'Excel).
La m�thode Transpose d'Excel ne supporte pas les cellules avec plus de 255 caract�res. D�finissezt $bForceFunc � True pour contourner cette limitation.

En relation

_Excel_RangeRead

Exemples

Exemple 1

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

; Cr�e un objet Excel et cr�e un nouveau classeur
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookNew($oExcel)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple", "Erreur lors de la cr�ation du nouveau classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Ecrit une cha�ne avec un saut de ligne dans la feuille active du classeur actif
; *****************************************************************************
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Test" & @CRLF & "String")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple 1", "Erreur lors de l'�criture dans la feuille." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple 1", "Cha�ne �crite avec succ�s.")


Exemple 2

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

; Cr�e un objet Excel et cr�e un nouveau classeur
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookNew($oExcel)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple", "Erreur lors de la cr�ation du nouveau classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; �crit un tableau 1D dans la feuille active du classeur actif
; *****************************************************************************
Local $aArray1D[3] = ["AA", "BB", "CC"]
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aArray1D, "A3")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple 2", "Erreur lors de l'�criture dans la feuille." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple 2", "Tableau 1D �crit avec succ�s.")


Exemple 3

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

; Cr�e un objet Excel et cr�e un nouveau classeur
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookNew($oExcel)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple", "Erreur lors de la cr�ation du nouveau classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Ecrit une partie d'un tableau 2D dans la feuille active du classeur actif
; *****************************************************************************
Local $aArray2D[3][5] = [[11, 12, 13, 14, 15],[21, 22, 23, 24, 25],[31, 32, 33, 34, 35]]
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aArray2D, "B1")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple 3", "Erreur lors de l'�criture dans la feuille." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple 3", "Tableau 2D �crit avec succ�s.")


Exemple 4

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

; Cr�e un objet Excel et cr�e un nouveau classeur
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookNew($oExcel)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple", "Erreur lors de la cr�ation du classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Remplit une plage dans la feuille active du classeur actif avec une formule
; *****************************************************************************
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "=B1+3", "B5:F6", False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple 4", "Erreur lors de l'�criture dans la feuille." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeWrite-Exemple 4", "Plage remplit avec succ�s avec une formule.")