Recherche sur le classeur : plusieurs onglets ?

  • Initiateur de la discussion Initiateur de la discussion bond
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bond

XLDnaute Occasionnel
Dans la fonction de recherche il y a l'option 'Dans : ' pour choisir Feuille ou Classeur.

En enregistrement automatique, le code VBA est identique quelque soit l'option choisie, et je ne sais pas quel paramètre de Find permet de jouer avec cette option.

Mon plan B serait d'utiliser une boucle sur toutes les feuilles du classeur comme je l'ai vu sur des discussions du forum, mais je trouve ça un peu lourd d'autant qu'apparement Mr Excel a prévu le truc...

Mon fichier 'enregistrement auto de Vba😡
 

Pièces jointes

Re : Recherche sur le classeur : plusieurs onglets ?

Bonjour,

Mon plan B serait d'utiliser une boucle sur toutes les feuilles du classeur comme je l'ai vu sur des discussions du forum, mais je trouve ça un peu lourd d'autant qu'apparement Mr Excel a prévu le truc...

bah..; à ma connaissance, tu es obligé de faire une boucle, la méthode "find" vba ne permettant pas la recherche sur tout le classeur....

bonne soirée
@+
 
Re : Recherche sur le classeur : plusieurs onglets ?

Bonjour Bond, bonjour le forum,

Pas bien compris ton code... Tu vas te retrouver avec la dernière cellule trouvée active (si elle existe, sinon ça plante). En plus pour sélectionner une cellule d'un onglet il faut que l'onglet soit sélectionné au préalble. Mais bon, regarde le code ci-dessous :
Code:
Sub Macro8()
Dim sh As Worksheet
Dim r As Range
For Each sh In Sheets
    sh.Activate
    Set r = sh.Cells.Find(What:="27c27", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)
    If Not r Is Nothing Then r.Activate
 
    Set r = sh.Cells.Find(What:="28a28", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)
    If Not r Is Nothing Then r.Activate
Next sh
End Sub

[Édition]
Bonjour Pierrot on s'est croisé
 
Re : Recherche sur le classeur : plusieurs onglets ?

Ah ben c pas cool ! 😡
VBA ne sait pas tout faire de ce qui permis dans l'appli, quelle déception 😱

Sinon pas éviter la boucle, j'ai trouvé le code suivant comme Plan B préféré :
Code:
Sheets(Array("Feuil1", "Feuil1 (2)")).Select
Cells.Find(What:="28a28", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False, SearchFormat:=False).Activate
ActiveSheet.Select

Merci Pierro, Robert, pour cette confirmation [hélas].
 
Re : Recherche sur le classeur : plusieurs onglets ?

Ah ben c pas cool ! 😡
VBA ne sait pas tout faire de ce qui permis dans l'appli, quelle déception 😱

Sinon pas éviter la boucle, j'ai trouvé le code suivant comme Plan B préféré :
Code:
Sheets(Array("Feuil1", "Feuil1 (2)")).Select
Cells.Find(What:="28a28", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    False, SearchFormat:=False).Activate
ActiveSheet.Select

Merci Pierro, Robert, pour cette confirmation [hélas].

Re,

aarf, chez moi ne fonctionne que si valeur est sur la 1ère feuille, sinon l'initialisation d'un objet "range" renvoie "nothing"...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour