XL 2010 Intégrer l'outil "rechercher et remplacer" dans une cellule.

DAVID-44-

XLDnaute Occasionnel
Bonjour à tous,
Je souhaiterais intégrer le code VBA de l'outil "rechercher et remplacer" dans la cellule "G4" !
Mettre le mot à rechercher dans la cellule "G4" et appuyer sur "entrer" afin de trouver rapidement le mot sans devoir ouvrir l'outil.
Merci de votre aide.
Bonne journée.
Cordialement.
David.
 

Gégé-45550

XLDnaute Accro
Bonjour à tous,
Je souhaiterais intégrer le code VBA de l'outil "rechercher et remplacer" dans la cellule "G4" !
Mettre le mot à rechercher dans la cellule "G4" et appuyer sur "entrer" afin de trouver rapidement le mot sans devoir ouvrir l'outil.
Merci de votre aide.
Bonne journée.
Cordialement.
David.
À mon humble avis, cette requête est à adresser directement à Microsoft 😂
 

Gégé-45550

XLDnaute Accro
Re,
Pour me simplifier la vie. Malheureusement, je n'ai pas le savoir-faire pour écrire ses lignes. Dommage.
Mais je comprends vos arguments.
Merci.
Cordialement.
David.
re-bonjour,
Déjà, la fonction native "Rechercher et remplacer" a besoin de savoir :
1. Où rechercher le texte (dans quelle(s) zone(s) du classeur)
2. Par quoi remplacer ce texte et optionnellement, s'il faut remplacer toutes les occurrences rencontrées ou seulement certaines.
Dans votre cas, une macro pourra permettre de savoir ce que vous avez tapé dans la cellule, donc de connaître le texte à rechercher, mais surement pas de répondre aux 2 questions ci-dessus, sauf à dire que la zone de recherche est fixe et que le texte de remplacement est toujours le même.
Quel intérêt d'écrire du code lorsque ces fonctions sont natives, donc forcément plus rapides ?
Cordialement,

EDITION: Bonjour Staple1600
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Moi aussi j'adore me simplifier la vie
(C'est pourquoi je suis adepte du principe K.I.S.S)
Mais dans le cas présent, quelle la différence (au niveau simplicité) entre saisir un mot dans une cellule
ou saisir un mot dans la boite de dialogue affichée par CTRL+F ou CTRL+H ?

En cas d'occurence multiples, celles-ci sont listées et on y accéder en cliquant sur les résultats
ctrlFH.png

(difficile d'obtenir la même chose en VBA ;))

EDITION
: Bonjour Gégé-45550
 

DAVID-44-

XLDnaute Occasionnel
Re-bonjour à tous, Gégé-45550, Staple1600,

Merci pour vos arguments qui sont très pertinents et que je respecte totalement.

En utilisant l'outil "rechercher et remplacer" dans une cellule directement sur une feuille, je souhaite simplement trouver un moyen qui me paraît plus rapide (ce n'est simplement que mon avis et mon choix) de faire une recherche de mot(s) dans cette seule feuille de classeur.
En aucun cas, je ne parle de remplacer un mot.

En effet, l'outil permet de trouver facilement avec quelques lettres les mots recherchés et c'est pour cela que je souhaite l'intégrer directement dans ma feuille sans devoir ouvrir une fenêtre supplémentaire.

J'ai un peu travaillé et j'ai réussis avec l'aide de recherches sur le net, de modifier un code pour l'intégrer dans ma feuille.

VB:
Dim i As Range
   Set i = Selection
  
Cells.Find(What:=i, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate

Cela ne marche pas trop mal, car j'utilise une liste déroulante qui me permet de sélectionner les mots souhaités et de trouver ma recherche rapidement dans mes 400 lignes.
Par contre, si vous le souhaitez, je solliciterais votre aide pour améliorer le code :

- Afin de définir la cellule où dans laquelle j'écris le mot à rechercher. Pour l'instant avec "Set i = Selection", je suis obligé de sélectionner manuellement cette cellule. La cellule dans laquelle j'écris le mot est le "G4". J'ai bien essayé de faire : "Set i = Selection = G4" ou "Set i = G4 = Selection", mais ça ne fonctionne pas.

- Pour que la recherche fasse comme dans l'outil "rechercher et remplacer" et continue de rechercher les mots dans toute la feuille par ordre alphabétique. Pour l'instant, le code ne recherche qu'un mot et ne va pas plus loin... J'ai ajouté "Cells.FindNext(After:=ActiveCell).Activate" à la fin du code, mais ça fonctionne aléatoirement !

- Pour mettre un petit message d'erreur s'il ne trouve pas le mot.

Merci pour votre aide.
Cordialement.
David.

 

Staple1600

XLDnaute Barbatruc
Re

@DAVID-44-
En guise de source d'inspiration

Quant à moi, je reste sur mon CTRL+F et sa simplicité ;)
 

DAVID-44-

XLDnaute Occasionnel
Re-bonjour à tous.
Gégé-45550 merci, ça marche en plus maintenant la recherche se fait sur toute la feuille ! ;)

Si vous avez une idée pour :
- Pour mettre un petit message d'erreur s'il ne trouve pas le mot.

Merci beaucoup pour votre aide. c'est super.
Cordialement.
David.
 

Gégé-45550

XLDnaute Accro
Re-bonjour à tous.
Gégé-45550 merci, ça marche en plus maintenant la recherche se fait sur toute la feuille ! ;)

Si vous avez une idée pour :
- Pour mettre un petit message d'erreur s'il ne trouve pas le mot.

Merci beaucoup pour votre aide. c'est super.
Cordialement.
David.
Essayez :
VB:
Dim i As Range
   Set i = Range("G4")
 
Cells.Find(What:=i, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
If ActiveCell.Address = Range("G4").Address Then MsgBox "Rien trouvé", vbOKOnly, "Recherche infructueuse"
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
314 496
Messages
2 110 236
Membres
110 708
dernier inscrit
novy16