Chercher une valeur dans une plage de cellule [Fermé]

Signaler
-
Messages postés
8128
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
24 juin 2020
-
Bonjour,

J'aimerais utiliser une fonction qui permet de chercher une valeur dans une plage de cellule excel

Par exemple dans la plage B1:B10, je recherche la valeur (qui ne peut être qu'unique) ; si je trouve cette valeur, la valeur à reporter dans la cellule est 1

Voila

Merci d'avance

4 réponses

Messages postés
8128
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
24 juin 2020
1 432
En supposant que la valeur a chercher soit entrée en A1, que la plage où chercher soit de B1 à B10 dans la cellule où tu veux le résultat tapes :

=SI(ESTNA(EQUIV(A1;$B$1:$B$10;0));"";1)


Nicolas dit toujours : « C'est facile quand on connait la réponse ! »
12
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61956 internautes nous ont dit merci ce mois-ci

Un grand merci ! J'avais l'an passé trouvé une formule à partir de RECHERCHE mais impossible de la retrouver, alors par chance je suis arrivé ici et cela m'a dépanné.
BM
Un grand merci aussi, j'ai ENFIN pu résoudre un problème de ce genre grâce à votre formule.
Je cherchais la valeur d'une cellule (une cellule après l'autre) dans une liste de cellule afin d'afficher Vrai/Faux. C'est fait et réussi. Je vous met la formule si cela peut aider.
=SI(ESTNA(EQUIV(C4;F:F;0));"Absent";"Présent")
- Donc chercher C4 dans toute les valeurs de la colonne F (quelque soit le nombre de cellule dans la colonne F)
- J'ai copier coller cette formule dans les lignes que je souhaitais vérifier.
PS, correction > J'ai mis le pseudo de Patrice afin de ne pas me créer de compte moi-même!
Messages postés
8128
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
24 juin 2020
1 432 > Patrice33740
Il est préférable de limiter la plage de recherche par exemple:
=SI(ESTNA(EQUIV($C4;$F$1:$F$9999;0));FAUX;VRAI)
Messages postés
8
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
18 mars 2015
4
=NB.SI(B1:B10;valeur)

ça vous renverrait le nombre de valeurs contenues dans votre plage. ici, 1
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 096
Bonjour,
C'est ça que tu cherche ?
Sub ChechVal()
Dim Cel As Range
Dim Plage As Range
Dim CH As Variant
    CH = InputBox("Entrez la valeur à chercher")
    If CH = "" Then Exit Sub
    Set Plage = Range("B1:B10")
    For Each Cel In Plage
        If Cel = CH Then
            Range("A1") = Cel
            Exit Sub
        End If
    Next Cel
End Sub

A+
Bonjour
Merci de cette prompte réponse
J'ai testé et cela ne fonctionne pas
Pour tester, j'ai entré une valeur croissante de 1 à 10 dans le range B1 à B10
j'ai lancé le débogage pas à pas et bien que la valeur entrée dans l'inputbox existe, il n'entre jamais dans Range A1=Cel
je pense qu'il y a un problème de type de variable car CEL est de type Range et CH est de type Variant
Si tu as une idée...
Merci d'avance
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 096
Non, vu que CH est en variant l'inputBox renvoi un string.
Remplace la déclaration de CH
Dim CH As Double

A+
Messages postés
15238
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 juin 2020
1 306
Bonjour,

Sub recherche()
Dim Val_recherche, C, Addr

Val_recherche = InputBox("Entrez la valeur à chercher")
If Val_recherche = "" Then Exit Sub

With Worksheets("Feuil1").Range("b1:b10")
Set C = .Find(Val_recherche, LookIn:=xlValues)
If Not C Is Nothing Then
Addr = C.Address
Range("A1") = Range(C.Address).Value
Else
'Code si pas trouvee

End If
End With

End Sub

Essayez si cela vous convient

Bonne continuation