Limiter la recherche Cells.Find

Résolu
Saddoud_walid Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -  
Saddoud_walid Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
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   Statut Membre Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313 > Saddoud_walid Messages postés 41 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
ça marche

merci beaucoup pour votre aide
0