Usine à gaz
XLDnaute Barbatruc
Bonjour à toutes et à tous,
Je vous souhaite une belle journée
Il y a déjà un bon moment, youky(BJ) m'avait transmis un code de recherche dans tout le classeur.
Cette recherche fonctionne très bien et je l'en remercie encore
Toutefois, j'ai 2 choses que j'aimerais résoudre
J'aimerais que seul l'object de la recherche soit écrit
Par exemple, ci-dessus : UNIQUEMENT LE MOT "excel"
J'aimerais, si clic sur "Annuler" :
QUE : MsgBox ("Faudrait p'être saisir l'objet de la recherche !") ne s'affiche pas et que la sortie soit directe
Voici le code complet :
Pour tests, je joins le fichier.
Je vous remercie vivement,
Amicalement,
lionel,
Je vous souhaite une belle journée
Il y a déjà un bon moment, youky(BJ) m'avait transmis un code de recherche dans tout le classeur.
Cette recherche fonctionne très bien et je l'en remercie encore
Toutefois, j'ai 2 choses que j'aimerais résoudre
J'aimerais que seul l'object de la recherche soit écrit
Par exemple, ci-dessus : UNIQUEMENT LE MOT "excel"
VB:
If nom = "" Then
Application.EnableEvents = False
MsgBox ("Faudrait p'être saisir l'objet de la recherche !")
[a3].Select
Application.EnableEvents = True
Exit Sub
End If
J'aimerais, si clic sur "Annuler" :
QUE : MsgBox ("Faudrait p'être saisir l'objet de la recherche !") ne s'affiche pas et que la sortie soit directe
Voici le code complet :
VB:
Sub Recherche()
nom = InputBox("Saisir l'objet de la Recherche :", "Recherche")
If nom = "" Then
Application.EnableEvents = False
MsgBox ("Faudrait p'être saisir l'objet de la recherche !")
[a3].Select
Application.EnableEvents = True
Exit Sub
End If
Application.EnableEvents = False
q = ActiveSheet.Index
For q = q To ActiveSheet.Index + Sheets.Count - 1
K = (q - 1) Mod (Sheets.Count) + 1
With Sheets(K).UsedRange
Application.ScreenUpdating = False
Set C = .Find(nom, LookAt:=xlPart) 'LookAt:=xlpart dans cellule - LookAt:=xlWhole) 'cellule entière
'[a1].Activate
If Not C Is Nothing Then
firstAddress = C.Address
Do
On Error Resume Next
Sheets(K).Select
C.Activate
Application.ScreenUpdating = True
ActiveWindow.ScrollRow = Selection.Row
'Cells(ActiveCell.Row, 1).Select
Rep = MsgBox(C & " : OK dans " & ActiveSheet.Name & Chr(10) & "" & Chr(10) & "Cellule - ligne : " & C.Address & Chr(10) & Chr(10) & "" & "Continuer la recherche ?", 4 + 32, "Résultat")
If Rep = vbNo Then
Application.EnableEvents = True
Exit Sub
End If
'Application.ScreenUpdating = False
Application.ScreenUpdating = True
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
End With
Next q
MsgBox "Ben NON : y'a pas ou y'a plus !"
'Application.ScreenUpdating = False
End Sub
Je vous remercie vivement,
Amicalement,
lionel,