rechercher une valeur dans une plage.

C

claudy

Guest
Bonjour,
je cherche depuis hier à faire une macro de recherche...
une valeur dans une plage bien précise Range("AB3:AB2000")
Si la valeur s'y trouve, MsgBox, avec la valeur de la cellule de droite("ACxxx")
Si elle ne 'sy trouve pas MsgBox("Aucune valeur!!")
qui ressemblerait (en mieux) a ceci:

Sub cherche()
Dim zaza As Integer
zaza = InputBox("Quelle valeur ?")
popo = Application.Find(zaza, Range("AB3:AB2000"))

MsgBox (popo.adress)
End Sub

Merci, et A+
Claudy
 
B

Ben

Guest
Salut Claudy,

Voilà un petit truc, désolé mais j'm bien les For...next!

Sub cherche()
Dim zaza As Integer
zaza = InputBox("Quelle valeur ?")

For i = 3 To 2000

If Cells(i, 28).Value = zaza Then
popo = Cells(i, 29).Value
MsgBox "valeur correspondante = " & popo
End 'ou autre chose...
End If

Next i

MsgBox "valeur invalide"

End Sub

@+, Ben
 
S

sousou

Guest
Voici de quoi d'inspirer.
Attention au type de valeur rechercher!

Sub cherche()
Set maplage = ActiveSheet.Range("a1:a10")
mavaleur = InputBox("Entrez la valeur recherchée :")
If mavaleur = "" Then Exit Sub

If IsNumeric(mavaleur) = True Then mavaleur = " " & mavaleur

For Each i In maplage

If IsNumeric(i) = True Then compare = Str(i) Else compare = i

If compare = mavaleur Then
MsgBox i.Offset(0, 1)
flag = flag + 1
End If
Next

If flag = 0 Then
MsgBox ("Aucune valeur")
Else
MsgBox flag & " valeur(s) trouvée(s)"
End If
End Sub
 
B

Ben

Guest
ahhh...je viens de relire tes messages et je remarque que tu es sur Mac...le problème vient peut-etre (surement ;) ) de là, et je n'y connais rien en Mac!!

Sinon essaie quand-même de mettre range(cells(i,28),cells(i,28)) = zaza

ou encore cells(i,28) = zaza

si ca marche pas, je ne peux plus rien. Attends l'avis de quelqu'un qui s'y connait en Mc..

@+, Ben
 
C

claudy

Guest
re et re...
J'trouvé :))
en remplacant integer par string!!!
Question subsidiaire:
Comment déclencher(a partir d'une autre feuille) la recherche dans ma feuille "données", sans activer cette feuille "données"
Encore merci à Ben et Cie
Claudy
 
B

Ben

Guest
Et....re!

Tu fais un

With sheets("données")

'tu insères ton code avec chaque ordre qui réfère à la feuille qui commence par un point. Exemple : remplace 'If Cells(i, 28).Value = zaza Then' par :

If .Cells(i, 28).Value = zaza Then

'Ca marchera peut-etre...

'et tu finis par :

end with

@+, Ben
 

Discussions similaires

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2