Bug sur un code recherche. (correction de code).
BJR tout le monde,
Voici un code, pompé à moitié sur internet, l'autre moitié bidouillé par mes soins :aie:
Contexte
Dans mon fichier, j'ai un USF qui contient:
textbox1 et textbox2.
Quand l'utilisateur saisie une recherche et click sur ok, un nouvel USF s'ouvre, pour afficher les infos. ( ça, ca marche 8-) )
Dans ce code, j'ai deux problemes:
1- Je ne parviens pas à taper des données numériques et texte dans un même textbox. Avec des valeurs numériques, la recherche fonctionne. Si je met une partie ou tout en lettres, il considère qu'il n'y a aucune valeur saisie.
2- Je souhaite que la recherche ne fonctionne pas si je tape des infos dans les deux usf. C'est ce que j'ai tenté de faire avec mes bloc if, else, mais la pareil, je suis en échec!!
==> si value =true textbox1 et value= false text box2 recherche de textbox1
==> si value = false textbox1 et value= true textbox2 recherche de textbox2
==> si value = true textbox1 et value=true textbox2 msgbox aucune saisie
Code actuel
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| Private Sub btmfp_ok_click()
If Me.TextBox1.Value = True Then
' déclaration des variables
Dim rref As Variant
rref = Me.TextBox1.Value
Dim plagederecherche As Range
Dim valeurcherchee As Variant
Dim adressetrouvee As Variant
'Valeur cherchée = contenu dans la text box 1
valeurcherchee = rref
'Recherch dans la colonne A
Set plagederecherche = ActiveSheet.Columns(1)
Set rref = plagederecherche.Cells.Find(what:=valeurcherchee, lookat:=xlWhole)
'Si aucune correspondance
If rref Is Nothing Then
MsgBox "Aucune occurence n'a été trouvée pour la référence :" & vbCrLf & "" & vbCrLf & " " & valeurcherchee & " " & vbCrLf & "" & vbCrLf & " Cliquez sur okk pour revenir à l'écran précédent.", vbOKOnly
Else
'Si correspondance
adressetrouvee = rref.Address
rref.Select
MsgBox "Une occurence a été trouvée pour la référence :" & vbCrLf & "" & vbCrLf & " " & valeurcherchee & " " & vbCrLf & "" & vbCrLf & " Cliquez pour afficher les informations", vbOKOnly
consultation.Show
End If
Set plagederecherche = Nothing
Set rref = Nothing
Else
If Me.TextBox2.Value = True Then
Dim rdes As Variant
rdes = Me.TextBox2
Dim plagederechercherdes As Range
Dim valeurchercheerdes As Variant
Dim adressetrouveerdes As Variant
'Valeur cherchée = contenu dans la text box 1
valeurchercheerdes = rdes
'Recherch dans la colonne A
Set plagederechercherdes = ActiveSheet.Columns(3)
Set rdes = plagederechercherdes.Cells.Find(what:=valeurchercheerdes, lookat:=xlWhole)
'Si aucune correspondance
If rdes Is Nothing Then
MsgBox "Votre recherche" & valeurcherchee & ": aucune correspondance pour cette recherche.", vbOKOnly
Else
'Si correspondance
adressetrouvee = rdes.Address
rdes.Select
MsgBox "Une occurence a été trouvée pour la référence :" & vbCrLf & "" & vbCrLf & " " & rdes & " " & vbCrLf & "" & vbCrLf & " Cliquez pour afficher les informations", vbOKOnly
consultation.Show
End If
Set plagederecherche = Nothing
Set rdes = Nothing
Else
MsgBox "Aucune saisie", vbCritical
End If
End If
End Sub |
Merci pour l'aide éventuelle que vous pourrais m'apporter!! :P