UDF > Excel >


_Excel_RangeReplace

Trouve et remplace des concordances de chaînes dans une plage ou une feuille de calcul

#include <Excel.au3>
_Excel_RangeReplace ( $oWorkbook, $vWorksheet, $vRange, $sSearch, $sReplace [, $iLookAt = $xlPart [, $bMatchcase = False]] )

Paramètres

$oWorkbook Objet classeur Excel
$vWorksheet Nom, index ou objet feuille de calcul à rechercher. Si la valeur est le mot-clé Default, la feuille active sera utilisée
$vRange L'objet plage, la plage au format $xlA1 ou le mot-clé Default pour rechercher dans toutes les cellules de la feuille de calcul spécifiée
$sSearch Chaîne à rechercher
$sReplace Chaîne de remplacement
$iLookAt [optionnel] Indique si le texte de recherche doit correspondre à l'ensemble ou à une partie. Peut être toute valeur de l'énumération XLLookAt (par défaut = $xlPart)
$bMatchcase [optionnel] True = sensible à la casse, Faux = insensible à la casse (par défaut = False)

Valeur de retour

Succès: Retourne l'objet plage et définit @extended à 1 si les cellules ont été modifiées.
É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 - $sSearch est vide
4 - $vRange n'est pas valide. @extended contient le code d'erreur COM
5 - Erreur renvoyée par la méthode Replace. @extended contient le code d'erreur COM

En relation

_Excel_RangeFind

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

; *****************************************************************************
; Remplace le contenu de la cellule A1 par une autre valeur
; *****************************************************************************
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeReplace-Exemple 1", "Pressez OK pour modifier la cellule 'A1'.")
_Excel_RangeReplace($oWorkbook, Default, "A1", 1, 3.37)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeReplace-Exemple 1", "Erreur lors du remplacement dans la plage." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeReplace-Exemple 1", "Donnée remplacée avec succès dans la cellule 'A1'.")


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

; *****************************************************************************
; Trouve toutes les cellules avec le texte "long " et le supprime (le remplace par "")
; *****************************************************************************
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeReplace-Exemple 1", "Pressez OK pour modifier la cellule 'G1'.")
_Excel_RangeReplace($oWorkbook, Default, Default, "long ", "")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeReplace-Exemple 2", "Erreur lors du remplacement de la donnée." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeReplace-Exemple 2", "Supprime le texte 'long '." & @CRLF & "Donnée remplacée avec succès.")