Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction RECHERCHE : problème

  • Initiateur de la discussion WereWolfBEL
  • Date de début
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

  • Find_Problem.zip
    9.3 KB · Affichages: 12

pat1545.

XLDnaute Accro
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
 

WereWolfBEL

XLDnaute Nouveau
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
 

Charly2

Nous a quittés en 2006
Repose en paix
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+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…