Limiter la recherche Cells.Find

Résolu/Fermé
Saddoud_walid Messages postés 41 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 6 novembre 2020 - 21 nov. 2015 à 00:12
Saddoud_walid Messages postés 41 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 6 novembre 2020 - 21 nov. 2015 à 17:57
Salut a tous
S.V.P. je cherche une solution pour limiter la recherche de la fonction « Cells.Find » dans un tableau et pas dans les autres cellules
Merci d'avance

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
21 nov. 2015 à 08:26
Bonjour

un exemple tiré de mon grenier:
recherche les cellules de la zone B2:F9 comportant "AB" dans un mot et y ajoute "coucou"

Option Explicit
'---------
Sub modifier_si()
Dim zone As Range, cellule As Range, nbre As Integer
Dim Cptr As Integer

Application.ScreenUpdating = False
Set zone = ActiveSheet.Range("B2:F9")
nbre = Application.CountIf(zone, "*" & "AB" & "*")

With zone
Set cellule = .Find(what:="AB", LookIn:=xlValues)
For Cptr = 1 To nbre
cellule = cellule & " coucou"
Set cellule = .FindNext(cellule)
Next
End With

End Sub

0
Saddoud_walid Messages postés 41 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 6 novembre 2020
21 nov. 2015 à 16:28
merci michel

avant je travaille avec ce code

Sub recherche()
Cells.Find(what:=[F3].Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate

[f5] = ActiveCell.Offset(0, 1)

End Sub

alors si vous pouvais m'aider avec ce code
et encore merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > Saddoud_walid Messages postés 41 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 6 novembre 2020
21 nov. 2015 à 17:12
Je t'en ai fourni Un qui fonctionne, donc. il suffit de remplacer "AB" par la valeur de F3

et de remplacer cellule par range("F5") et non [F5]
For Cptr = 1 To nbre
range("F5")=cellule.offset(0,1)
....
0
Saddoud_walid Messages postés 41 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 6 novembre 2020
21 nov. 2015 à 17:57
ça marche

merci beaucoup pour votre aide
0