Fonction RECHERCHE : problème

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

W

WereWolfBEL

Guest
Bonjour le forum,

J'ai un petit problème avec ma macro...

Period = 19
Range('A1').Select
On Error GoTo Not_Found
Columns('A:A').Select
Cells.Find(What:=Period, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
True, SearchFormat:=False).Activate
ActiveCell.Select

Dans mon fichier excel, je dois lancer une recherche sur une valeur (ici, 19) MAIS sur une seule colonne car si cette valeur ne se trouve pas dans la colonne A, la macro passe à autre chose. Or, le problème est que la valeur '19' se trouve justement aussi dans la cellule E2.
Je voudrais que la fonction RECHERCHE se limite exclusivement à la colonne indiquée et ne trouve donc pas la cellule E2...

Ce que je ne comprends pas c'est que lorsque je le fait 'à la main', Excel ne trouve pas '19' dans la colonne A alors que lorsque c'est 'la macro qui le fait', la recherche s'étend à tout le tableau !

Merci d'avance pour vos lumières.

Bien à vous,
WerWolfBEL

Ci-joint, un exemple. [file name=Find_Problem.zip size=9505]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Find_Problem.zip[/file]
 

Pièces jointes

Bonjour,

ceci semble fonctionner:
Sub Excel_Download_Exemple()
Sheets('Main').Select
Range('E16').Select
Period = ActiveCell.Value
Sheets('Data').Select
Range('A1').Select
On Error GoTo Not_Found
Columns('A:A').Select
Dim C
With Selection
Set C = .Find(Period, , lookat:=xlWhole, LookIn:=xlValues)
If Not C Is Nothing Then
C.Select
End If
End With
Not_Found:
'blablabla
End Sub
Patrick
 
Bonjour pat1545,

C'est PARFAIT !!!

Ce code fonctionne à merveille.
Un tout grand merci !!

PS : as-tu une explication du pourquoi cela ne fonctionnait pas avec mon code ?

Encore une fois, bravo et merci.

WereWolfBEL
 
Salut wolf, salut Patrick 🙂

Je me permets aussi 😉

ton code ne cherchait pas seulement dans la colonne A, mais dans l'ensemble de la feuille :

Columns('A:A').Select
Cells.Find(...)

Il aurait fallu coder ainsi :

Columns('A:A').Select
Selection.Find(...)

ou (encore mieux) :

Columns('A:A').Find(...)

Voili voilà 😛

A+
 
- 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

Réponses
5
Affichages
402
Retour