Bonjour
Merci pour votre réponse. J'ai essayé votre suggestion mais cela ne change rien. En fait en tentant de saisir un mot que je sais être inexistant dans le classeur, le débogeur s'affiche avec en jaune la ligne que j'ai mis en rouge ci-dessous, au lieu de passer à l'avant dernière ligne indiquant que la référence n'existe pas dans le classeur.
Merci.
Option Compare Text
Public Valeurseche As Boolean
Sub Seche()
Valeurseche = True
Macro_Recherche
End Sub
Sub Comp()
Valeurseche = False
Macro_Recherche
End Sub
Sub Macro_Recherche()
If Sheets("Recherche").TextBox1.Value = "" Then Exit Sub
Dim Cel, Feuil, Str_critère, X
If Valeurseche = True Then
Str_critère = Sheets("Recherche").TextBox1.Value
Else
Str_critère = "*" & Sheets("Recherche").TextBox1.Value & "*"
End If
For Each Feuil In Sheets
If Feuil.Name <> "Recherche" Then
For Each Cel In Feuil.UsedRange
If Cel Like Str_critère Then
Feuil.Activate
Cel.Activate
X = MsgBox("Référence """ & Str_critère & """ trouvée :" & Chr(13) & _
"Sur la documentation : " & Feuil.Name & Chr(13) & _
"à l'adresse : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
"Est-ce celle là ?" & Chr(13) & Chr(13) & _
"Oui : on quite" & Chr(13) & _
"Non : on continue la recherche " & Chr(13) & _
"Annuler : on arrête la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "Référence trouvée")
Select Case X
Case 6 'oui
Exit Sub
Case 2 'annuler on sort
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
End If
Next Feuil
MsgBox ("Désolé. La référence ' " + Str_critère + " ' que vous cherchez n'existe pas dans ce classeur.")
End Sub