Microsoft 365 Cells.Find ne trouve valeurs >999 Répondre

LucWalraf

XLDnaute Nouveau
Bonjour,

Dans la macro ci-dessous, la fonction cells.find trouve les recherches de valeurs texte et inférieures ou = à 999 mais pas les valeurs supérieures à1000.

Si je mets 999 dans la colonne F du fichier cible, ça me renvoie bien le numéro de ligne.

Si je mets 1000 (et le change dans le what:= de la macro), ça ne renvoie "pas trouvé".

Quelqu'un pourrait m'aider ?

Merci,

Luc
VB:
Sub a()
Dim cel As Range
With Sheets("TEMP").Range("f:f")
    Set cel = Cells.Find(what:=999, LookIn:=xlValues, SearchFormat:=True)
    If cel Is Nothing Then MsgBox ("Pas trouvé")
    If Not cel Is Nothing Then MsgBox (cel.Row)
End With
End Sub
 

soan

XLDnaute Barbatruc
Inactif
Bonjour LucWalraf,

essaye :

VB:
Sub a()
  Dim cel As Range
  With Worksheets("TEMP").Columns(6)
    Set cel = .Find(what:=1000, LookIn:=xlValues, SearchFormat:=True)
    If cel Is Nothing Then MsgBox "Pas trouvé" Else MsgBox cel.Row
  End With
End Sub

mais ça cherche 1000 exactement, pas des valeurs supérieures !
(ni des valeurs inférieures)

pour t'aider davantage, tu devrais joindre un fichier exemple
sans données confidentielles.

remarque : je comprends pas pourquoi tu utilises SearchFormat:=True
(peut-être que tu peux t'en passer ?)


soan
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

[Suggestions au passage]
=>LucWalraf
Pourquoi ne pas utiliser le filtre?
Automatique ou Avancé
Normalement, cela le fait en le pilotant à la souris

Mais si vraiment tu préfères passer par VBA
VB:
Sub mAutoFilter()
Range([F1], Cells(Rows.Count, "F").End(xlUp)).AutoFilter 1, ">999", 1
End Sub
Sub mAdvancedFilter()
Range("H2") = "=RC[-2]>999"
Range([F1], Cells(Rows.Count, "F").End(xlUp)).AdvancedFilter _
    Action:=xlFilterInPlace, _
    CriteriaRange:=Range("H1:H2"), _
    Unique:=False
End Sub
 

Discussions similaires

Réponses
2
Affichages
322

Statistiques des forums

Discussions
315 103
Messages
2 116 246
Membres
112 695
dernier inscrit
ben44115