cs_hadria
Messages postés2Date d'inscriptionmercredi 4 novembre 2009StatutMembreDernière intervention 4 novembre 2009
-
4 nov. 2009 à 11:09
cs_hadria
Messages postés2Date d'inscriptionmercredi 4 novembre 2009StatutMembreDernière intervention 4 novembre 2009
-
4 nov. 2009 à 11:29
Bonjour,
j'aurais besoin d'aide car j'ai un problème en utlisant .Find()
J'utilise cette fonction pour aller chercher des informations dans une base de données, en utilisant comme critère de recherche un Id number, sauf que lorsque je donne un ID Number qui est contenu dans un autre (ex 6445 contenu dans 26445) j'obtiens les infos concernant quelqu'un d'autre.
Mon code est simple et est le suivant:
With ActiveWorkbook.Worksheets("Sheet1").Range("$B:$B")
Set f = .Find(IDNumber)
End With
f.EntireRow.Copy
Quelqu'un connaitrai-il la solution?
Merci d'avance
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 4 nov. 2009 à 11:26
il s'agit donc de VBA si j'en crois ton bout de code : il suffit de préciser que tu cherches le mot entier dans les propriétés de la fonction. Un petit coup d'enregistreur de macro + F1 pour obtenir la syntaxe :
.Find(What:=IDNumber,,LookAt:=xlWhole)
cs_hadria
Messages postés2Date d'inscriptionmercredi 4 novembre 2009StatutMembreDernière intervention 4 novembre 2009 4 nov. 2009 à 11:29
Merci, j'aurais du y penser.
Je venais de trouver une solution fait maison:
With ActiveWorkbook.Worksheets("Sheet1").Range("$B:$B")
Set f = .Find(IDNumber)
End With
f.EntireRow.Copy
test = CLng(f.Value) - CLng(IDNumber)
While test > 0
adr = f.Offset(1, 0).Address
adresse = adr & ":$B65356"
With ActiveWorkbook.Worksheets("Sheet1").Range(adresse)
Set f = .Find(IDNumber)
End With
test = CLng(f.Value) - CLng(IDNumber)
Wend