Control "F"

Résolu
Bonjour.

J'ai créé un bouton qui me lance la fonction de recherche Ctrl F.

Private Sub CommandButton3_Click()
Application.CommandBars("Edit").Controls.Item("Rechercher...").Execute
End Sub

Quand on utilise cette fonction de recherche, il faut parfois modifier quelques réglages, comme, par exemple, le respect de la casse.
Malheureusement, dés que la feuille est fermée, ces réglages disparaissent.
Il faut donc les remettre à chaque lancement de la feuille.

Je sais que cette fonction n'est pas une fonction Excel.

Existe-t-il un moyen de garder ces réglages à chaque lancement ?

Sinon, y-a-t-il une macro qui existe correspondant à cette commande Ctrl F ?
J'ai passé des heures à chercher un équivalent en VBA, qui fonctionne bien, mais sans succès.

Merci

5 réponses

  1. Merci Patrice33740.

    Comme dis plus haut, devant ce petit soucis, j'ai repris ou modifié certaines petites macros.
    Tout est rentré dans l'ordre.
    0
    1. Je dois passer à coté de quelque chose. Car:

      Si je ne coche pas "Respecter la casse", la recherche ne trouve pas des mots que j'ai devant les yeux ou saute certaines cellules contenant ce mot.
      Si, par exemple, la cellule contient: Maurice Dugenou, et que je recherche Dugenou, si je n'ai pas coché cette case, rien n'est trouvé. Il me faut taper Maurice Dugenou pour que la recherche aboutisse.

      Windows 8.1 Office 2013
      0
      1. Contributeur
        Si tu veux trouver le maximum de cellules les 2 options 'Respecter la casse' et 'Totalité du contenu de la cellule' doivent être décochées. C'est le choix à l'ouverture qui est donc correct.
        Clique sur ? de la boite de dialogue pour l'aide.
        eric
        0
      2. Pour les 2 cases décochées : :
        Sub EssaiBoiteDeDialogueIntégréeExcel()
        Dim dbx As Dialog
          Set dbx = Application.Dialogs(xlDialogFormulaReplace)
          'Arguments : find_text, replace_text, look_at, look_by, active_cell, match_case, match_byte
          Rep = dbx.Show("", "", xlPart, xlByRows, , False, False)
        End Sub
        0
    2. Contributeur
      Bonjour,

      Je dirais que c'est plutôt l'inverse, tu en trouveras moins puisque si tu cherches "lundi" tu ne trouveras pas "Lundi". Mais bon, tu sais ce que tu as besoin.
      Fait une recherche bidon avec les paramètres qui t'intéressent à l'ouverture du classeur, ils restent sélectionnés. Dans ThisWorkbook :
      Private Sub Workbook_Open()
          Dim c As Range
          Set c = Cells.Find(What:="rien", MatchCase:=True)
      End Sub

      Sinon récupérer un raccourci très utilisé n'est pas très conseillé...

      eric
      0
      1. Merci Patrice33740.

        Ton code fonctionne très bien, mais ce n'est pas ce que je cherche.
        Je ne veux pas remplacer un texte par un autre.
        Je veux faire une simple recherche type Ctrl F, mais qui garde en mémoire la coche "Respecter la casse". (sinon, des tas de mots ou chiffres ne sont pas trouvés)
        0
        1. Tous les arguments sont dans la réponse !!!
          Il faut donc :
            Rep = dbx.Show(, , , , , True)
          0
        2. @Patrice33740Merci Patrice33740.

          Devant ce petit soucis, j'ai repris ou modifié certaines petites macros.
          Tout est rentré dans l'ordre.
          Par contre, est-il possible de mettre en surbrillance le mot ou le chiffre trouvé ?
          Bon après midi.
          0
      2. Bonjour,

        Adaptes ce code :
        Sub EssaiBoiteDeDialogueIntégréeExcel()
        Dim dbx As Dialog
          Set dbx = Application.Dialogs(xlDialogFormulaReplace)
          'Arguments : find_text, replace_text, look_at, look_by, active_cell, match_case, match_byte
          Rep = dbx.Show("Essai", "Test")
        End Sub


        0