Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
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.