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
 

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à :p

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 336
Messages
2 087 389
Membres
103 534
dernier inscrit
Kalamymustapha