Problème de recherche!!!!!!!

ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015 - 5 mai 2008 à 18:58
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 6 mai 2008 à 03:37
Bonjour les ptis loups

Voici mes mignes de code :

Private Sub Label170_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
chariot = InputBox("Entrez le numéro de chariot que vous voulez remplacer")
Columns(1).Find(what:=chariot).Activate
Selection.Cut
Range("B4").Select
ActiveSheet.Paste

Ce petit code me permet de retrouver le contenu d'une cellule par l'intermediaire d'une inputbox au meme titre que le système de recherche d'excel.

Mon problème et le suivant si par exemple je tape 9 dans ma inputbox pas de souci il me retrouve la cellule contenant la valeur 9 et la coupe et la colle en B4.
Par contre si je demande le numero 109 par exemple, il me prend pas 109 exactement mais soit 10,101,102,103,104,105,106... car dans 109 il y'a la valeur 10 donc il me prend le premier pareil que la recherche d'excel.

Y'a t'il un moyen d'y remedier?????
merci 

5 réponses

zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
5 mai 2008 à 19:09
Find(What:= chariot, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole , SearchOrder: =xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate

est-ce que c'est ca que tu cherches?

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
5 mai 2008 à 20:03
Salut zen69

Private Sub Label170_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
chariot = InputBox("Entrez le numéro de chariot que vous voulez remplacer")
Columns(1).Find(What:=chariot, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate


Selection.Cut
Range("B4").Select
ActiveSheet.Paste

Voici ce que j'ai mi sans mon code il me donne l'erreur "incompatibilité de type"
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
5 mai 2008 à 20:11
C'est le Columns(1).Find qui n'aime pas.... j'ai essayé ça Columns.Find ca mlarche nickel!!!! Merci zen69 bravo
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
5 mai 2008 à 20:15
Salut,

je suis scéptique sur ton problème. Quelque soit le type de donnée de ta variable chariot (String ou Integer), si je cherche 9, il me sélectionne bien 9, idem pour 109.

Tes données sont-elles bien dans la première colonne ?
Ces valeurs sont écrites ou est-ce le résultat d'une formule ?

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA/STRON
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
6 mai 2008 à 03:37
Le mieux est de passer par une variable Range quand on utilise Find.

Dim Recherche As Range
Set Recherche = Columns("A").Find(MaValeur,.....)
If Not Recherche Is Nothing Then ' trouvé
    '.....
Else
    'non trouvé
End If

Et comme le dit Mortalino (salut...) tu inscris Columns(1) donc la colonne A, mais est-ce que c'est bien elle que tu veux rechercher ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous