Cherche des concordances de cellules dans une plage ou un classeur et retourne un tableau d'informations sur les cellules trouv�es
#include <Excel.au3>
_Excel_RangeFind ( $oWorkbook, $sSearch [, $vRange = Default [, $iLookIn = $xlValues [, $iLookAt = $xlPart [, $bMatchcase = False]]]] )
$oWorkbook | Objet Workbook |
$sSearch | La cha�ne de recherche. Peut �tre une cha�ne (les jokers - *?~ - peuvent �tre utilis�s) ou tout autre type de donn�es Excel. Voir Remarques |
$vRange | [optionnel] Un objet plage, une plage au format $xlA1 (cha�ne) ou le mot-cl� Default pour rechercher dans toutes les feuilles du classeur (par d�faut = mot-cl� Default) |
$iLookIn | [optionnel] Sp�cifie o� chercher. Peut �tre toute valeur de l'�num�ration XLFindLookIn (par d�faut = $xlValues) |
$iLookAt | [optionnel] Indique si le texte de recherche doit correspondre � l'ensemble ou � une partie. Peut �tre n'importe quoi de l'�num�ration XLLookAt (par d�faut = $xlPart) |
$bMatchcase | [optionnel] True = sensible � la casse, Faux = insensibles � la casse (par d�faut, False) |
Succ�s: | Retourne un tableau � deux dimensions index�es � partir de z�ro avec les informations suivantes: 0 - Nom de la feuille de calcul 1 - Nom de la cellule 2 - Adresse de la cellule 3 - Valeur de la cellule 4 - Formule de la cellule 5 - Commentaire de la cellule |
�chec: | Retourne 0 et d�finit @error <> 0. |
@error: | 1 - $oWorkbook n'est pas un objet ou n'est pas un objet classeur 2 - $sSearch est vide 3 - $vRange n'est pas valide. @extended contient le code d'erreur COM 4 - Erreur renvoy�e par la m�thode Find. @extended contient le code d'erreur COM |
Cette fonction reproduit la fonctionnalit� Ctrl+F d'Excel, sauf qu'elle ajoute les cellules comment�es dans le r�sultat.
Excel reconna�t les caract�res g�n�riques suivants :
? (point d'interrogation ) - Tout caract�re simple
* (ast�risque) - N'importe quel nombre de caract�res
~ (tilde), suivie par, ?, *, ou ~ - Point d'interrogation, ast�risque ou tilde
Lorsque $vRange est sp�cifi� en tant que plage A1 (string) alors la feuille active du classeur $oWorkbook est recherch�e.
#include <Array.au3> #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_RangeFind 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_RangeFind-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 occurrences de la valeur '37000' (concordance partielle) Local $aResult = _Excel_RangeFind($oWorkbook, "37000") If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeFind Exemple 1", "Erreur lors de la recherche dans la plage." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeFind Exemple 1", "Trouve toutes les occurrences de la valeur '37000' (concordance partielle)." & @CRLF & "Donn�e recherch�e avec succ�s.") _ArrayDisplay($aResult, "UDF Excel: _Excel_RangeFind Exemple 1", "", 0, "|", "Sheet|Name|Cell|Value|Formula|Comment")
#include <Array.au3> #include <Excel.au3> #include <MsgBoxConstants.au3> ; Cr�e un objet Excel et ouvre un exemple de classeur Local $oExcel = _Excel_Open() If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeFind 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_RangeFind 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 occurrences de la cha�ne "=C10*10" dans les formules, avec une concordance exacte Local $aResult = _Excel_RangeFind($oWorkbook, "=C10*10", "A1:G15", $xlFormulas, $xlWhole) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeFind Exemple 2", "Erreur lors de la recherche de la plage." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeFind-Exemple 2", "Trouve toutes les occurrences de la cha�ne '=C10*10' dans les formules, avec une concordance exacte." & @CRLF & "Donn�e recherch�e avec succ�s.") _ArrayDisplay($aResult, "UDF Excel: _Excel_RangeFind Exemple 2", "", 0, "|", "Sheet|Name|Cell|Value|Formula|Comment")
#include <Array.au3> #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_RangeFind 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_RangeFind 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 occurrences de la cha�ne "test" dans les commentaires Local $aResult = _Excel_RangeFind($oWorkbook, "test", Default, $xlComments) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeFind Exemple 3", "Erreur lors de la recherche de la plage." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeFind-Exemple 3", "Trouve toutes les occurrences de la cha�ne 'test' dans les commentaires." & @CRLF & "Donn�e recherch�e avec succ�s.") _ArrayDisplay($aResult, "UDF Excel: _Excel_RangeFind Exemple 3", "", 0, "|", "Sheet|Name|Cell|Value|Formula|Comment")
#include <Array.au3> #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_RangeFind-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_RangeFind-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 valeurs avec "Story" � la fin en utilisant des jokers et une concordance exacte Local $aResult = _Excel_RangeFind($oWorkbook, "* Story", Default, Default, $xlWhole) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeFind-Exemple 4", "Erreur lors de la recherche de la plage." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeFind Exemple 4", "Trouve toutes les valeurs avec 'Story' � la fin en utilisant des jokers et une concordance exacte." & @CRLF & "Donn�e recherch�e avec succ�s.") _ArrayDisplay($aResult, "UDF Excel: _Excel_RangeFind Exemple 4", "", 0, "|", "Sheet|Name|Cell|Value|Formula|Comment")