Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

rechercher en VBA

1 réponse
Avatar
alain roussel
Bonjour à tous,
je désirerais savoir comment on fait pour faire une recherche sur deux
critères dans une base de données à partir d'un userform

je m'explique :

1 pour la recherche sur un critère j'ai la syntaxe suivante et ça marche

'recherche sur le n° de contrôle
If UserForm2.TextBox13.Value <> "" Then
Cells.Find(What:=UserForm2.TextBox13.Value, after:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
searchdirection:=xlNext, MatchCase:=False).Activate
End If

2. pour la recherche sur 2 critères j'ai ecrit la syntaxe suivante:

'recherche sur l'année et le nom
If UserForm2.ComboBox15.Value <> "" And UserForm2.TextBox14.Value <> "" Then
Cells.Find(What:=UserForm2.TextBox14.Value And UserForm2.ComboBox15.Value,
after:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
searchdirection:=xlNext, MatchCase:=False).Activate
End If

ET CELA NE MARCHE PAS !!!

Alors comment faire dans ce cas ?

merci d'avance pour votre aide qui en tout état de cause me sera précieuse

alain

1 réponse

Avatar
JB
Bonjour,

Si le tableau n'est pas très important, on peut utiliser une boucle:

cd1 = "AA42311"
cd2 = "43421"
For Each c In [A2:A50000]
If c = cd1 And c.Offset(0, 1) = cd2 Then
c.Select
End If
Next c

Avec Find:

http://boisgontierjacques.free.fr/fichiers/Find2Criteres.zip


JB
http://boisgontierjacques.free.fr

On 21 juin, 16:46, "alain roussel" wrote:
Bonjour à tous,
je désirerais savoir comment on fait pour faire une recherche sur deux
critères dans une base de données à partir d'un userform

je m'explique :

1 pour la recherche sur un critère j'ai la syntaxe suivante et ça mar che

'recherche sur le n° de contrôle
If UserForm2.TextBox13.Value <> "" Then
Cells.Find(What:=UserForm2.TextBox13.Value, after:¬tiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
searchdirection:=xlNext, MatchCase:úlse).Activate
End If

2. pour la recherche sur 2 critères j'ai ecrit la syntaxe suivante:

'recherche sur l'année et le nom
If UserForm2.ComboBox15.Value <> "" And UserForm2.TextBox14.Value <> "" T hen
Cells.Find(What:=UserForm2.TextBox14.Value And UserForm2.ComboBox15.Val ue,
after:¬tiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
searchdirection:=xlNext, MatchCase:úlse).Activate
End If

ET CELA NE MARCHE PAS !!!

Alors comment faire dans ce cas ?

merci d'avance pour votre aide qui en tout état de cause me sera préc ieuse

alain