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 96 97 98 99 100 101 102 103 104 105 106 107 108 109
| Private Sub CommandButton1_Click()
'Declarations des variables
Dim ref As String
Dim Export As Worksheet
Dim MotCle As String
Dim erreur As String
Set Export = Sheets("A")
Dim i As Integer
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Actions si le bouton d'option n°1 est selectionné(référence):
If OptionButton1.Value = False And OptionButton2.Value = False Then
erreur = MsgBox("Veuillez choisir une méthode de recherche", vbOKOnly + vbCritical, "Erreur")
End If
If OptionButton1.Value = True Then
'Affichage d'un boîte de dialogue pour la saisie de la référence
ref = InputBox("Saisir la référence recherchée")
'Recherche dans la première colonne de la feuille de travail n°1
With Worksheets(1).Columns(1)
Set c = .Find(What:=ref, LookAt:=xlWhole)
'xlWhole signifie que la recherche s'effectue sur un mot entier
'Si l'utilisateur(trice) n'écris rien dans la boîte de dialogue, un message d'erreur s'affiche
If ref = ("") Then
ref = MsgBox("Veuillez entrer au moins un caractère", vbCritical + vbOKOnly, "Attention")
'Si la reference est imcomplete ou erronnée, on affiche les references les plus ressemeblantes
ElseIf c Is Nothing Then
ref = MsgBox("REFERENCE INEXISTANT.Affichage des références les plus ressemblantes", vbOKOnly + vbInformation)
Set h = .Find(What:=ref, LookAt:=xlPart)
If Not h Is Nothing Then
firstAddress = h.Address
Do
Set h = .FindNext(h)
'Agrandissement de la fenêtre pour l'affichage des résultats
UserForm4.Width = 500
'On ajoute un résultat dans une liste et on active le bouton "contenu"
ListBox1.ListStyle = 1
ListBox1.AddItem h
CommandButton3.Enabled = True
Loop While Not h Is Nothing And h.Address <> firstAddress
End If
Else
'Agrandissement de la fenêtre pour l'affichage des résultats
UserForm4.Width = 500
'On ajoute un résultat dans une liste et on active le bouton "contenu"
ListBox1.ListStyle = 1
CommandButton3.Enabled = True
ListBox1.AddItem c
End If
End With
End If
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Actions si le bouton d'option n°2 est selectionné(mot clé):
If OptionButton2.Value = True Then
'Affichage d'une boîte de dialogue pour la saisie du mot clé
MotCle = InputBox("Saisir un mot clé")
'Recherche dans la deuxième colonne de la feuille de travail n°1
With Worksheets(1).Columns(2)
Set d = .Find(What:=MotCle, LookAt:=xlPart)
'xlPart signifie que la recherche s'effectue sur une partie de mot
If Not d Is Nothing Then
firstAddress = d.Address
Do
Set d = .FindNext(d)
'Si l'utilisateur(trice) n'écris rien dans la boîte de dialogue, un message d'erreur s'affiche
If MotCle = ("") Then
MotCle = MsgBox("Veuillez entrer au moins un caractère", vbCritical + vbOKOnly, "Attention")
'Si il n'y a pas de résultat, un message d'erreur s'affiche
ElseIf d Is Nothing Then
MsgBox ("Mot(s) clé(s) non trouvé(s)")
Else
'Agrandissement de la fenêtre
UserForm4.Width = 500
'On ajoute un résultat dans une liste et on active le bouton "contenu"
ListBox1.ListStyle = 1
ListBox1.AddItem d
CommandButton3.Enabled = True
End If
Loop While Not d Is Nothing And d.Address <> firstAddress
End If
End With
End If
End Sub |
Partager