Coupe ou colle une ou plusieurs cellules, lignes ou colonnes vers une plage ou � partir de/vers le presse-papier
#include <Excel.au3>
_Excel_RangeCopyPaste ( $oWorksheet, $vSourceRange [, $vTargetRange = Default [, $bCut = False [, $iPaste = Default [, $iOperation = Default [, $bSkipBlanks = False [, $bTranspose = False]]]]]] )
$oWorksheet | Objet de la feuille de calcul source |
$vSourceRange | Plage source � partir de laquelle copier/couper. Peut �tre un objet plage ou une plage au format $xlA1. Si la valeur le mot-cl� Default alors la plage sera copi�e � partir du presse-papiers. |
$vTargetRange | [optionnel] Plage cible pour l'op�ration copier/couper. Peut �tre un objet plage ou une plage au format $xlA1. Si la valeur est le mot-cl� Default alors la plage sera copi� dans le presse-papiers (par d�faut = mot-cl� Default) |
$bCut | [optionnel] Si la valeur est True la plage source n'est pas copi�e mais coup�e (par d�faut = False) Ce param�tre est ignor� lorsque $vSourceRange contient le mot-cl� Default. |
$iPaste | [optionnel] La partie de la plage qui sera coll�e � partir du presse-papiers (formules, formats...). Doit �tre une valeur de l'�num�ration XlPasteType (par d�faut = le mot-cl� Default) |
$iOperation | [optionnel] L'op�ration � coller (addition, division, multiplication, ... ). Doit �tre une valeur de l'�num�ration XlPasteSpecialOperation (par d�faut = mot-cl� Default ) |
$bSkipBlanks | [optionnel] Si la valeur est True, les cellules vides du presse-papiers ne seront pas coll�es dans la plage cible (par d�faut, False) |
$bTranspose | [optionnel] Mettre � True pour transposer les lignes et les colonnes lorsque la plage est coll�e (par d�faut, False) |
Succ�s: | Retourne l'objet plage cible si $vTargetRange <> Default, sinon 1. |
�chec: | Retourne 0 et d�finit @error <> 0. |
@error: | 1 - $oWorksheet n'est pas un objet ou n'est pas un objet feuille de calcul 2 - $vSourceRange n'est pas valide. @extended contient le code d'erreur COM 3 - $vTargetRange n'est pas valide. @extended contient le code d'erreur COM 4 - Une erreur s'est produite lors de l'op�ration Coller. @extended contient le code d'erreur COM 5 - Une erreur s'est produite lors de l'op�ration Couper. @extended contient le code d'erreur COM 6 - Une erreur s'est produite lors de l'op�ration Copier. @extended contient le code d'erreur COM 7 - $vSourceRange et $vTargetRange ne peuvent pas �tre d�finis par Default en m�me temps |
$vSourceRange et $vTargetRange ne peuvent pas �tre d�finis � Default en m�me temps.
Si $vSourceRange = Default alors:
* La plage sera copi�e � partir du presse-papiers en utilisant la m�thode PasteSpecial
* $bCut sera ignor�e
* $iPaste, $iOperation, $bSkipBlanks et $bTranspose seront pris en compte
Si $vSourceRange et $vTargetRange sont sp�cifi�s, les param�tres $iPaste, $iOperation, $bSkipBlanks et $bTranspose sont ignor�s
#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_RangeCopy-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) ; Ouvre le classeur 1 Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True) If @error Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; ***************************************************************************** ; Copie une plage de 3 lignes et 2 colonnes sur la feuille de calcul active. ; Colle la plage source en tant qu'objet. ; ***************************************************************************** Local $oRange = $oWorkbook1.ActiveSheet.Range("I2:J4") _Excel_RangeCopyPaste($oWorkbook1.ActiveSheet, $oRange, "G7") If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple 1", "Erreur lors de la copie des cellules." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple 1", "Plage 'I2:J4' copi� avec succ�s en 'G7'.")
#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_RangeCopy-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) ; Ouvre le classeur 2 Local $oWorkbook2 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel3.xls", True) If @error Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel3.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; Ouvre le classeur 1 Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True) If @error Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; ***************************************************************************** ; Copie une seule cellule � partir d'un autre classeur. Colle la plage source en tant qu'objet. ; ***************************************************************************** Local $oRange = $oWorkbook2.Worksheets(1).Range("A1") _Excel_RangeCopyPaste($oWorkbook1.Worksheets(1), $oRange, "G15") If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple 2", "Error copying cells." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple 2", "Range 'A1'from workbook _Excel3.xls successfully copied to 'G15'.")
#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_RangeCopy-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) ; Ouvre le classeur 1 Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls") If @error Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; ***************************************************************************** ; Copie 2 lignes (1 et 2) � partir de la feuille 2 vers le presse-papiers ; ***************************************************************************** _Excel_RangeCopyPaste($oWorkbook1.Worksheets(2), "1:2") If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple 3", "Erreur lors de la copie des lignes." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple 3", "Lignes 1+2 copi�es avec succ�s de la feuille 2 vers le presse-papier.") ; ***************************************************************************** ; Colle la plage �crite dans l'exemple 3 � partir du presse-papiers � la feuille de calcul active. ; Seules les valeurs sans mise en forme seront coll�es. ; ***************************************************************************** _Excel_RangeCopyPaste($oWorkbook1.Activesheet, Default, "1:1", Default, $xlPasteValues) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple 4", "Erreur lors de la copie des lignes." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple 4", "2 lignes coll�es avec succ�s du presse-papier � la ligne 1.")
#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_RangeCopy-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) ; Ouvre le classeur 1 Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True) If @error Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; ***************************************************************************** ; Colle le format d'une cellule sur d'autres cellules ; ***************************************************************************** _Excel_RangeCopyPaste($oWorkbook1.Activesheet, "A1") ; Copie la cellule vers le presse-papiers If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple5", "Erreur lors de la copie de la cellule A1." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_RangeCopyPaste($oWorkbook1.Activesheet, Default, "B1:E16", Default, $xlPasteFormats) ; Colle le format de la plage cible If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple5", "Erreur lors du collage des cellules." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeCopy-Exemple 5", "Format de la cellule 'A1' coll� avec succ�s en 'B1:E16'.")