Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Limitation de la recherche avec "Find"

  • Initiateur de la discussion Greg
  • Date de début
G

Greg

Guest
Bonjour le forum,

je cherche une solution pour resteindre le champ de recherche de la formule 'find' à une colonne ou un range designé. Je joint le code que j'utilise actuellement. Il fonctionne mais je ne le trouve pas assez securisé.
Est-ce que quelqu'un aurait une solution.
D'avance Merci,
Greg

ps: Voici le code. désolé pour la présentation

Sub Remove Row

Dim Check As Long
Dim Val As String
Dim WS As Object

Val = InputBox('Enter the name of the staff member to remove:', 'Remove Staff member')
If Val = '' Then Exit Sub

For Each WS In Worksheets
If WS.Name = ('Workers &Employees') Then Check = Application.CountIf(WS.UsedRange, '=' & Val)
Next WS
If Check = 0 Then returnValue = MsgBox(' No matching found ', vbOKOnly, ' Message ')
Else

Sheets('Labour Costs').Activate
ActiveSheet.Unprotect ('001')
Cells.Find(What:=Val, After:=ActiveCell, LookIn:=xlFormulas, LookAt _:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _False).Activate
ActiveCell.EntireRow.Delete
ActiveSheet.Protect Password:='001', DrawingObjects:=True, Contents:=True, Scenarios:=True
End If

End Sub
 
G

Greg

Guest
Bonjour Jean Marie, Bonjour Le Forum,

Comme j'ai pu le constater dans le lien que tu m'as envoyé, la formule 'MATCH' est plus approprié dans ce que je recherche et je te remercie pour tes conseils
Toutefois, j'ai encore un petit problème dans l'application de la formule. Je n'arrive pas à definir la zone de recherche.

Lorsque je remplace la zone de recherche 'ZoneRef' par ma zone de recherche, la macro bugge alors que la valeur saisie est bonne. Connais-tu la cause de ce problème.

Merci,

Greg

ps: en quoi consiste l'option Explicit
 

Discussions similaires

Réponses
1
Affichages
598
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…