[vba] recherche d'une valeur EXACTE
Résolu/Fermé
cel92
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
Mimi -
Mimi -
Bonjour,
Débutante en vba,
je recherche la valeur "NumUnique" parmi les cellules "B39 à B200" grâce au code :
"
Set CelluleTrouvee = Range("B39:B200").Find(NumUnique, LookIn:=xlValues)
"
PROBLEME : ma macro ne me retourne pas les cellules de valeur EGALE à la valeur NumUnique recherchée, mais les cellules CONTENANT NumUnique.
Par exemple, si je recherche NumUnique = 2
le résultat est CelluleTrouvee.Value = 52
Connaissez vous une autre fonction me retournant une cellule contenant la valeur exacte recherchée ?
Sinon, auriez-vous un exemple simple permettant de contourner le problème ?
D'avance merci !
Céline
Débutante en vba,
je recherche la valeur "NumUnique" parmi les cellules "B39 à B200" grâce au code :
"
Set CelluleTrouvee = Range("B39:B200").Find(NumUnique, LookIn:=xlValues)
"
PROBLEME : ma macro ne me retourne pas les cellules de valeur EGALE à la valeur NumUnique recherchée, mais les cellules CONTENANT NumUnique.
Par exemple, si je recherche NumUnique = 2
le résultat est CelluleTrouvee.Value = 52
Connaissez vous une autre fonction me retournant une cellule contenant la valeur exacte recherchée ?
Sinon, auriez-vous un exemple simple permettant de contourner le problème ?
D'avance merci !
Céline
A voir également:
- Vba find valeur exacte
- Vba - recherche cellule contenant valeur - Meilleures réponses
- Vba recherche cellule contenant valeur - Meilleures réponses
- Trouver mon adresse exacte - Guide
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum Excel
- Find vba - Astuces et Solutions
- Find and mount - Télécharger - Récupération de données
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
6 réponses
Bonjour,
La méthode Find admet un argument facultatif de type variant "Lookat", les valeurs possibles sont xlWhole ou xlPart...
En reprenant ton exemple, ça fait :
Public Sub test()
Dim numéro As Integer
Dim celluletrouvee As Range
Dim ligne As Integer
Dim col As Integer
numéro = 8
Set celluletrouvee = Range("A1:A5").Find(numéro, lookat:=xlWhole)
If celluletrouvee Is Nothing Then
MsgBox ("pas trouvé")
Else
ligne = celluletrouvee.Row
col = celluletrouvee.Column
MsgBox ("trouvé : ligne = " & ligne & " , colonne = " & col)
End If
End Sub
La méthode Find admet un argument facultatif de type variant "Lookat", les valeurs possibles sont xlWhole ou xlPart...
En reprenant ton exemple, ça fait :
Public Sub test()
Dim numéro As Integer
Dim celluletrouvee As Range
Dim ligne As Integer
Dim col As Integer
numéro = 8
Set celluletrouvee = Range("A1:A5").Find(numéro, lookat:=xlWhole)
If celluletrouvee Is Nothing Then
MsgBox ("pas trouvé")
Else
ligne = celluletrouvee.Row
col = celluletrouvee.Column
MsgBox ("trouvé : ligne = " & ligne & " , colonne = " & col)
End If
End Sub
hich24
Messages postés
1635
Date d'inscription
Statut
Membre
Dernière intervention
753
merci
Florian
Merci !
Cdric
Top, merci !
Mimi
Merci ligne de code très utile !