[resolu] recherche la plus rapide

recherche la plus rapide [resolu] - VB/VBA/VBS - Programmation

Marsh Posté le 01-01-2006 à 15:23:09    

bonjour, pouvez vous m indiquer la formule la plus rapide dans une macro pour aller chercher si une valeur existe dans une feuille d un classeur (le classeur etant ouvert mais pas forcément sur la feuille qu on veut) ?
En fait j ai bcp de recherches à faire, c est pour cela que je cherche le plus rapide;
 
ça y est, en plus éventuellement on balaye ttes occurences trouvées : exemple on cherche 2 :
 

Code :
  1. With Worksheets(1).Range("a1:a500" )
  2.     Set c = .Find(2, lookin:=xlValues)
  3.     If Not c Is Nothing Then
  4.         firstAddress = c.Address
  5.         Do
  6.             msgbox("trouvé en "+ c.row)
  7.             Set c = .FindNext(c)
  8.         Loop While Not c Is Nothing And c.Address <> firstAddress
  9.     End If
  10. End With


Message édité par bill751 le 02-01-2006 à 22:52:36
Reply

Marsh Posté le 01-01-2006 à 15:23:09   

Reply

Marsh Posté le 02-01-2006 à 09:12:41    

pour connaître la valeur d'une cellule sur une feuille :
 
Sheets("mafeuille" ).Cells("maligne", "macolonne" ).Value
 
je ne connais rien de plus rapide, mais si tu veux des trucs plus lents, je connais...  :pt1cable:


---------------
Proverbe chinois: il vaut mieux apprendre à pêcher à un mendiant que de lui donner du poisson...
Reply

Marsh Posté le 02-01-2006 à 09:20:34    

Pour mieux répondre à ta question :
 
If (IsEmpty(Sheets("mafeuille" ).Cells("maligne", "macolonne" ).Value) = False) Then MsgBox ("ca marche" )


---------------
Proverbe chinois: il vaut mieux apprendre à pêcher à un mendiant que de lui donner du poisson...
Reply

Marsh Posté le 02-01-2006 à 21:40:58    

merci, mais si je cherche une valeur dans une feuille c est justement que je sais pas si elle y est, donc je connais pas maligne et macolonne;

Reply

Marsh Posté le 02-01-2006 à 21:42:30    

au fait je ne sais pas où on peut cocher pour dire "c est bon j ai trouvé ?"

Reply

Marsh Posté le 02-01-2006 à 22:11:50    

Pour dire que ton topic est clos, tu modifies le titre de ton premier post...
 
En même temps, tu pourrais faire bénéficier de ta trouvaille aux autres, cela serai sympa pour eux (pour moi par la même occasion).


---------------
Proverbe chinois: il vaut mieux apprendre à pêcher à un mendiant que de lui donner du poisson...
Reply

Marsh Posté le 03-01-2006 à 11:46:28    

Pas de secrets, pour faire une recherche dans une liste de valeurs, il faut ordonner la liste, soit linéairement (du + petit ou + gd par ex) soit quadratiquement, avec une structure type arbre binaire. après seulement tu peux faire une recherche où il y a gain de temps


---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed