Bonjour,
Il y a quelques jours j'ai créé ce post http://www.developpez.net/forums/d21...colonnes-plus/
La solution apportée est effectivement fonctionnelle (et m'a beaucoup apporté), mais semble limitée à des chaines de caractère
.
Si je souhaite maintenant rechercher en fonction d'un nombre celà ne fonctionne pas. Qui plus est je dispose d'un format spécial (4 digits "0000") :
mon userform a cette tête :
Et le code attaché est le suivant :
Userform :
Module :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Option Explicit Private Sub btn_Search_Click() tbx_2 = Format(tbx_2.Value, "0000") recherche End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Option Explicit Function getIndex(Name As String, Num As String) As Long Dim Result Result = Evaluate("match(1,(Tableau1[Nom]=""" & Name & """)*(Tableau1[N° Aléa]=""" & Num & """),0)") If IsError(Result) Then getIndex = 0 Else getIndex = Result End Function Sub test() UserForm1.Show End Sub Sub recherche() MsgBox (getIndex(UserForm1.tbx_1.Value, UserForm1.tbx_2.Value)) End Sub
Si j'applique ce qui m'avait été proposé précédemment avec une recherche sur les noms et prénoms (tbx_2 = prénom sans le format bien entendu et recherche dans la colonne "Prénom" au lieu de "N° Aléa") ça fonctionne mais pas avec la colonne "N° Aléa".
J'ai essayé :
- en changeant "N° Aléa" par "Aléa" pour éviter un caractére spécial ==> ça n'a rien donné
- en supprimant le format "0000" dans le code et dans le classeur ==> pas fonctionné non plus
- en convertissant la tbx_2 par un CInt(tbx_2) ==> ça ne fonctionne pas
Ma question est donc : Comment faire une recherche sur une colonne qui contient autre chose que des chaines de caractères ? et comment faire lorsque l'on souhaite un format particulier ("0000" ou date jj/mm/aaaa) ?
En espérant avoir été clair![]()
Partager