Recherche dans un document Excel

  • Initiateur de la discussion Initiateur de la discussion Arno
  • 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 !

A

Arno

Guest
Bonjour,

Je travaille sur un document qui possède plusieurs feuilles.
Sur la première feuille, je souhaiterais insérer une zone de texte et un bouton juste à droite.
Ma question : Comment faire pour que le fait de cliquer sur le bouton me renvoie automatiquement à la case A1 de la feuille contenant le texte entré dans la zone ? (sachant que le texte n'est présent que dans une seule feuille).

Merci d'avance.
Cordialement.
Arno.
 
Bonsoir Arno, bonsoir Marco60 🙂

Si j'ai bien compris ta demande, ce genre de code pourrait te convenir :

Code:
Option Explicit

Sub Bouton2_QuandClic()
'
Dim i%
Dim Contenu$
'
  ActiveSheet.Shapes('Zone de texte 1').Select
  Contenu = Selection.Text
  Range('A1').Select
  i = 0
  Do
    i = i + 1
  Loop Until (WorksheetFunction.CountIf(Sheets(i).Range('A:IV'), Contenu) > 0) Or (i = Sheets.Count)
  Sheets(i).Select
  Range('A1').Select
End Sub

A retrouver dans le module du fichier joint 😉

[file name=ArnoRecherche.zip size=16285]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ArnoRecherche.zip[/file]

A+
 

Pièces jointes

Merci pour votre aide,
Pour l'instant Charlys avec ta mcro, il me met erreur d'execution 438 (propriété ou méthode non géré par cet objet) puis en débogage me surligne la ligne 'contenu=selection.text').

Je vais essayer de me servir de ton exemple pour trouver la source du problème et je te tiens au courant.

Cependant on dirait que ma zone de texte n'a pas le meme format que la tienne bizarre ...

Si je n'arrive pas à résoudre, je mettrai le fichier en PJ.

Merci @+++
Arno
 
Bonjour Arno, bonjour à toutes et à tous 🙂

Je ne travaille que très rarement avec les zones de texte en VBA, mais chez moi, la macro fonctionnait correctement ainsi. Essaie en remplaçant la ligne de code :

Contenu = Selection.Text

par :

Contenu = Selection.Characters.Text

Tiens nous au courant 😉

A+
 
Merci Charly pour ton aide,

j'ai trouvé la source du problème : je n'avais pas vraiment mis une zone de texte mais une 'TextBox' gràce à la barre d'outils 'Formulaires'.
Tout est rentré dans l'ordre en utilsant la zone de texte avec la barre d'outils 'dessin'.

Une dernière petite question : est-il possible de faire exactement la meme recherche mais sur une partie de la cellule ; exemple : en tapant 'CHAR', il retrouve la feuille qui contiens 'CHARLY' ?

Merci @+++
Arno
 
Re Arno 🙂

C'est tout à fait possible en utilisant des caractères spéciaux. Pour recherche dans les cellule, on a par exemple :
*AR* -> cellules contenant AR à n'importe quel endroit du texte
AR* -> cellules commençant par AR
*AR -> cellules finissant par AR
etc.

Le '*' représente un séquence de caractère, quequ'en soit sa longueur et '?' représente un seul caractère.

Dans l'exemple fourni, tu peux écrire :

WorksheetFunction.CountIf(Sheets(i).Range('A:IV'), 'like *' & Contenu & '*') > 0

Voilà 😉

A+

Edition : rectification et mise en forme.

Message édité par: Charly2, à: 19/01/2006 16:56
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Formule Outlook,
Réponses
8
Affichages
202
Réponses
1
Affichages
290
Retour