UDF > Excel >


_Excel_RangeDelete

Supprime une ou plusieurs cellules, lignes ou colonnes de la feuille de calcul spécifiée

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

Paramètres

$oWorksheet Objet feuille de calcul Excel
$vRange Plage qui 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éplacer les cellules. Peut être xlShiftToLeft ou xlShiftUp de l'énumération XlDeleteShiftDirection.
    Si la valeur est Default, Excel décide en fonction de la forme de la plage (par défaut = mot-clé Default)
$iEntireRowCol [optionnel] Si la valeur est 1, la ligne entière est supprimée, si elle est 2, toute la colonne est supprimée (par défaut = mot-clé Default = uniquement la plage spécifiée est supprimée)

Valeur de retour

Succès: Retourne 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 - $vRange n'est pas une plage valide. @extended contient le code d'erreur COM
3 - Une erreur s'est produite lors de la suppression de la plage. @extended contient le code d'erreur COM

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

; *****************************************************************************
; Supprime une plage de 3 lignes et 2 colonnes sur la feuille active
; et décale les cellules vers le haut.
; *****************************************************************************
Local $sRange = "J5:K7"
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeDelete-Exemple 1", "Suppression de cellules " & $sRange & ".")
_Excel_RangeDelete($oWorkbook.ActiveSheet, $sRange, $xlShiftUp)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeDelete-Exemple 1", "Erreur lors de la suppression des cellules." & @CRLF & "@error = " & @error & ", @extended = " & @extended)


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

; *****************************************************************************
; Supprime 2 lignes  (1 et 2) sur la feuille 3
; *****************************************************************************
$oWorkbook.Worksheets(3).Activate
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeDelete-Exemple 2", "Suppression des lignes 1 et 2 sur la feuille 3.")
_Excel_RangeDelete($oWorkbook.Worksheets(3), "1:2")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeDelete-Exemple 2", "Erreur lors de la suppression des lignes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)