Lorsque Dan affiche la boîte de dialogue Rechercher, les paramètres par défaut sont la recherche dans la feuille de calcul et la recherche dans les formules. Il aimerait que la valeur par défaut se trouve dans le classeur et examine les valeurs, il se demande donc s’il existe un moyen de modifier la valeur par défaut.

Excel ne vous permet pas de spécifier les paramètres souhaités pour une valeur par défaut dans la boîte de dialogue Rechercher. Il existe cependant un moyen de contourner cette apparente limitation – au moins partiellement. Excel se souvient des derniers paramètres de la boîte de dialogue Rechercher pour toute la session Excel. (Les paramètres ne sont réinitialisés que lorsque vous quittez et redémarrez Excel.) Cela signifie que tout ce que vous avez à faire est de créer une petite macro qui définira les paramètres souhaités dans la boîte de dialogue.

Vous pouvez le faire de deux manières. La première consiste à créer une macro qui définit directement les options dans la boîte de dialogue, comme ceci:

Sub SetFind1()

Application.Dialogs(xlDialogFormulaFind).Show,2,2 End Sub

La deuxième façon consiste à utiliser la méthode Find de l’objet Cells, de cette manière:

Sub SetFind2()

Dim c As Range     c = Cells.Find(What:="", LookIn:=xlValues, LookAt:=xlPart)

End Sub

L’un ou l’autre fonctionnera très bien, jusqu’à un certain point. (Plus à ce sujet dans un instant.) Tout ce que vous avez à faire est d’exécuter la macro lorsque vous démarrez Excel pour la première fois, soit manuellement, soit dans le cadre d’une macro Auto_Open. Les paramètres de la boîte de dialogue sont ensuite modifiés pour le reste de la session Excel, sauf si vous les modifiez manuellement.

Maintenant, au point. Il semble qu’il n’y ait aucun moyen de modifier le paramètre À l’intérieur de la boîte de dialogue. Ce paramètre recherche par défaut dans la feuille de calcul. Vous pouvez le changer manuellement en classeur et Excel se souviendra consciencieusement du paramètre de votre session en cours. Cependant, vous ne semblez pas pouvoir modifier le paramètre dans VBA. Vous noterez qu’aucun des exemples de macros ci-dessus ne modifie ce paramètre particulier. De plus, si vous enregistrez une macro dans laquelle vous modifiez les deux paramètres (Inside et Look In), vous vous retrouvez avec quelque chose qui ressemble à ceci:

Sub Macro1()

' ' Macro1 Macro ' '     Sheets("Sheet1").Select     Cells.Find(What:="", After:=ActiveCell, LookIn:=xlValues, _         LookAt:=xlPart, SearchOrder:=xlByRows, _         SearchDirection:=xlNext, MatchCase:=False).Activate End Sub

Si vous enregistrez le classeur dans lequel cette macro existe, redémarrez Excel, puis examinez les paramètres dans la boîte de dialogue Rechercher (appuyez sur Ctrl + F), vous noterez que les paramètres sont revenus à la valeur par défaut de recherche dans la feuille de calcul dans les formules. Exécutez la macro, puis examinez à nouveau la boîte de dialogue; vous devriez voir que les paramètres sont pour rechercher des valeurs dans la feuille de calcul; la macro ne définit pas le paramètre Dans, même si vous l’avez enregistré lorsque vous définissez Dans sur Classeur.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (8801) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Changing_Default_Search_Settings [Modification des paramètres de recherche par défaut].