UDF > Excel >


_Excel_RangeInsert

Insère une ou plusieurs cellules vides, lignes ou colonnes dans la feuille de calcul spécifiée

#include <Excel.au3>
_Excel_RangeInsert ( $oWorksheet, $vRange [, $iShift = Default [, $iCopyOrigin = Default]] )

Paramètres

$oWorksheet Objet feuille de calcul Excel
$vRange Peut être un objet plage, une plage au format $xlA1 (par exemple "A1:B2", "1:2" (lignes 1 à 2), "D:G" (colonnes D à G), etc...
$iShift [optionnel] Spécifie la façon de décaler les cellules. Peut être xlShiftToRight ou xlShiftDown de l'énumération XlInsertShiftDirection.
    Si la valeur est le mot-clé Default, Excel décide en fonction de la forme de la plage (par défaut = mot-clé Default)
$iCopyOrigin [optionnel] Précise avec quelle option de format effectuer la copie. Peut être toute valeur de l'énumération XlInsertFormatOrigin (par défaut = mot-clé Default)

Valeur de retour

Succès: Retourne l'objet plage contenant les cellules, les lignes ou les colonnes insérées
Échec: Retourne 0 et définit @error <> 0.
@error: 1 - $oWorksheet n'est pas un objet ou n'est pas un objet de feuille de calcul
2 - $vRange n'est pas valide. @extended contient le code d'erreur COM
3 - Une erreur s'est produite lors de l'insertion des cellules vides. @extended contient le code d'erreur COM

Remarque

La plage est insérée avant ou à gauche, suivant la paramètre $iShift.

Exemples

Exemple 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_RangeInsert-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_RangeInsert-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extra\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Insére une plage de 3 lignes et 2 colonnes avant A1 sur la feuille active
; et décale les cellules vers le bas.
; *****************************************************************************
_Excel_RangeInsert($oWorkbook.Activesheet, "A1:B3", $xlShiftDown)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeInsert-Exemple 1", "Erreur lors de l'insertion des cellules." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeInsert-Exemple 1", "Plage insérée avec succès.")


Exemple 2

#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_RangeInsert-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_RangeInsert-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extra\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Insére 3 colonnes avant la colonne B sur la feuille active
; *****************************************************************************
_Excel_RangeInsert($oWorkbook.Activesheet, "B:D")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeInsert-Exemple 2", "Erreur lors de l'insertion de colonnes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeInsert-Exemple 2", "3 colonnes insérées avec succès avant la colonne B.")


Exemple 3

#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_RangeInsert-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_RangeInsert-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extra\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Insère deux lignes avant la ligne 1 sur la feuille 2
; *****************************************************************************
_Excel_RangeInsert($oWorkbook.Worksheets(2), "1:2")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeInsert-Exemple 3", "Erreur lors de l'insertion de lignes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeInsert-Exemple 3", "Lignes insérées avec succès sur la feuille 2.")