tester la fonction rechercher

  • Initiateur de la discussion Initiateur de la discussion STEF
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

STEF

Guest
Bonjour à tous
Je cherche à tester le résultat de la fon selection.find (équivalent de 'Edition\Rechercher'. Sauriez vous comment faire : En clair, il faut savoir si le résultat est positif (et surtout) ou non... Il parait que c'est Nothing mais ca marche pas niquel..
Merci d'avance.
Stef
 
bonjour

je vais coller un ou plusieurs exemples qui t'aideront

Dim FoundCell As Range
Set FoundCell = Range("A1:A10").Find(what:="XXX")
If Not FoundCell Is Nothing Then
FoundCell.Select
End If


Sélectionner la première cellule de la colonne B contenant le mot "Zaza" : [B:B].Find("Zaza", Range("B1")([B:B].Count), xlValues, xlWhole, , xlNext, False).Select
Sélectionner la dernière cellule de la colonne B contenant le mot "Zaza" : [B:B].Find("Zaza", [B1], xlValues, xlWhole, , xlPrevious, False).Select



'macro pour coller les adresses des cellules contenant votre recherche
Sub coller_adresses_recherche
Set ZoneDeSortie = Sheets("Feuil3").Cells(1, 1)
Set LookupRange = Sheets("Feuil2").Range("A1:B20")
i = 0
With LookupRange
Set c = .Find(2, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
ZoneDeSortie.Offset(1, 0).Value = c.Value
Do
c.Interior.ColorIndex = 50
ZoneDeSortie.Offset(i, 0).Value = c.Address
Set c = .FindNext(c)
i = i + 1
Loop While Not c Is Nothing And c.Address <> firstAddress
End If


Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End With

End sub


bye
stephane
 
d'autres exemples mais allez-y doucement 🙂)))


Sélectionner une plage de cellule contenant une valeur particulière dans la colonne B
Exemple : ne sélectionner que la plage contenant 2000 dans B:B si la colonne est triée (le 18/05/2000 par L.L sélection conditionnelle de plage)
Exemple 1
with range(IIf([B1] = 2000, [B1], [B:B].find(2000, [B1])), "B65536")
range(.Item(1), .ColumnDifferences(.Item(1))(0)).Select
end with

Exemple 2
application.screenupdating = false
with range("B1", range("B:B").find("*", [B1], , xlPrevious))
.autofilter 1, 2000
Intersect(.cells, .offset(1)).Specialcells(xlCellTypeVisible).Select
.autofilter
end with

Exemple 3
function Zone(Plage As range, Critère) As range
On Error Resume Next
with Plage.find("*", Plage(1), , , , xlPrevious)
If Plage(1) = Critère Then Set Zone = range(Plage(1), .cells) Else _
Set Zone = range(Plage.find(Critère, Plage(1), , xlWhole), .cells)
If .cells <> Critère Then Set Zone = range(Zone.Item(1), _
Zone.ColumnDifferences(Zone.Item(1))(0))
end with
end function
'msgbox Zone([A:A],2000).address:Zone([A:A],2000).Select
'retourne un objet plage/range qui correspond à la plage étendue contenant le critère



j'avais déposé ceci sur <http://xlbysteph.free.fr/aideinformatique/actioncellule.htm>

bye
stephane
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour