Partager via


Méthode Module.Find (Access)

Recherche le texte spécifié dans un module standard ou un module de classe.

Syntaxe

expression. Find (Target, StartLine, StartColumn, EndLine, EndColumn, WholeWord, MatchCase, PatternSearch)

expression Variable qui représente un objet Module .

Paramètres

Nom Requis/Facultatif Type de données Description
Target Obligatoire Chaîne Texte à rechercher.
Ligne de démarrage Obligatoire Entier long Ligne à laquelle la recherche doit débuter. Si une correspondance est trouvée, la valeur de l’argument StartLine est définie sur la ligne sur laquelle le caractère de début du texte correspondant est trouvé.
StartColumn Obligatoire Entier long Colonne à laquelle la recherche doit débuter. Chaque caractère d'une ligne figure dans une colonne séparée, en commençant par zéro sur le côté gauche du module. Si une correspondance est trouvée, la valeur de l’argument StartColumn est définie sur la colonne dans laquelle le caractère de début du texte correspondant est trouvé.
EndLine Obligatoire Entier long Ligne à laquelle la recherche doit se terminer. Si une correspondance est trouvée, la valeur de l’argument EndLine est définie sur la ligne sur laquelle le caractère de fin du texte correspondant est trouvé.
EndColumn Obligatoire Entier long Colonne à laquelle la recherche doit se terminer. Si une correspondance est trouvée, la valeur de l’argument EndColumn est définie sur la colonne dans laquelle le caractère de début du texte correspondant est trouvé.
WholeWord Facultatif Booléen True permet de rechercher des mots entiers uniquement. La valeur par défaut est False.
MatchCase Facultatif Booléen True permet de rechercher les mots dont la casse correspond à l'argument Target. La valeur par défaut est False.
PatternSearch Facultatif Booléen True lance une recherche dans laquelle l'argument Target peut contenir des caractères génériques tels qu'un astérisque (*) ou un point d'interrogation (?). La valeur par défaut est False.

Valeur renvoyée

Booléen

Remarques

La méthode Find recherche la chaîne de texte spécifiée dans un objet Module. Si la chaîne est trouvée, la méthode Find renvoie la valeur True.

Pour déterminer la position dans le module à laquelle le texte de recherche a été trouvé, transmettez des variables vides à la méthode Find pour les arguments StartLine, StartColumn, EndLine et EndColumn . Si une concordance est trouvée, ces arguments contiendront le numéro de ligne et la position de colonne aux niveaux desquels le texte recherché commence (LigneDébut, ColonneDébut) et se termine (LigneFin, ColonneFin).

Par exemple, si le texte de recherche se trouve à la ligne 5, commence à la colonne 10 et se termine à la colonne 20, les valeurs de ces arguments sont StartLine = 5, StartColumn = 10, EndLine = 5, EndColumn = 20.

Exemple

La fonction suivante recherche une chaîne spécifique dans un module et remplace la ligne qui contient cette chaîne par une nouvelle ligne spécifique.

Function FindAndReplace(strModuleName As String, _ 
 strSearchText As String, _ 
 strNewText As String) As Boolean 
 Dim mdl As Module 
 Dim lngSLine As Long, lngSCol As Long 
 Dim lngELine As Long, lngECol As Long 
 Dim strLine As String, strNewLine As String 
 Dim intChr As Integer, intBefore As Integer, _ 
 intAfter As Integer 
 Dim strLeft As String, strRight As String 
 
 ' Open module. 
 DoCmd.OpenModule strModuleName 
 ' Return reference to Module object. 
 Set mdl = Modules(strModuleName) 
 
 ' Search for string. 
 If mdl.Find(strSearchText, lngSLine, lngSCol, lngELine, _ 
 lngECol) Then 
 ' Store text of line containing string. 
 strLine = mdl.Lines(lngSLine, Abs(lngELine - lngSLine) + 1) 
 ' Determine length of line. 
 intChr = Len(strLine) 
 ' Determine number of characters preceding search text. 
 intBefore = lngSCol - 1 
 ' Determine number of characters following search text. 
 intAfter = intChr - CInt(lngECol - 1) 
 ' Store characters to left of search text. 
 strLeft = Left$(strLine, intBefore) 
 ' Store characters to right of search text. 
 strRight = Right$(strLine, intAfter) 
 ' Construct string with replacement text. 
 strNewLine = strLeft & strNewText & strRight 
 ' Replace original line. 
 mdl.ReplaceLine lngSLine, strNewLine 
 FindAndReplace = True 
 Else 
 MsgBox "Text not found." 
 FindAndReplace = False 
 End If 
 
Exit_FindAndReplace: 
 Exit Function 
 
Error_FindAndReplace: 
 
MsgBox Err & ": " & Err.Description 
 FindAndReplace = False 
 Resume Exit_FindAndReplace 
End Function

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.