Sub Macro1()
Dim nb As String 'déclare la variable nb (nombre)
Dim Cnb As Double 'déclare la variable Cnb (Convertion du nombre)
Dim Wb As Workbook 'déclare la variable Wb (Workbook)
Dim Ws As Worksheet 'déclare la variable Ws (Worksheet)
Dim R As Range 'déclare la variable R (Recherche)
Dim PA As String 'déclare la variable PA (Première Adresse)
Dim msg As String 'déclare la variable msg(message)
'définit la variable nb (boîte d'entrée)
nb = InputBox('Taper la valeur recherchée', 'Recherche')
If nb = '' Then Exit Sub 'si la boîte n'est pas renseignée, sort de la procédure
Cnb = CDbl(nb) 'définit la variable Cnb
For Each Wb In Workbooks 'boucle sur tous les classeurs ouverts
PA = '' 'définit/redéfinit la variable PA
'si le classeur se nomme 'perso.xls' passe au suivant via la balise 'fin'
If Wb.Name = 'perso.xls' Then GoTo fin
Wb.Activate 'active le classeur
On Error GoTo fin 'evite le bug si l'onglet 'resultats' n'existe pas
Set Ws = Worksheets('resultats') 'définit la variable Ws
Ws.Select 'sélectionne l'onglet 'resultats'
With Ws.UsedRange 'prend en compte toutes les cellules éditées de cet onglet
Set R = .Find(Cnb) ''definit la variable R (recherche du nombre édité dans la boîte d'entrée)
If Not R Is Nothing Then 'condition : si une occurence est trouvée
PA = R.Address 'redéfinit la variable PA
Do 'exécute
'définit la variable msg (mémorise le nom du classeur et l'adresse de la cellule)
msg = msg & Wb.Name & ' / ' & R.Address(0, 0) & Chr(13)
Set R = .FindNext(R) 'redéfinit la variable R (recherche le suivant)
'boucle tant que le suivant n'a pas l'adresse de PA
Loop While Not R Is Nothing And R.Address <> PA
End If 'fin de la condition
End With 'fin de la prise en compte
fin: 'balise
Next Wb 'prochain classeur ouvert
ThisWorkbook.Activate 'sélectionne ce classeur
MsgBox msg 'affiche e message
End Sub