cs_jeyjey1
Messages postés46Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 8 février 2010
-
22 oct. 2008 à 15:19
cs_jeyjey1
Messages postés46Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 8 février 2010
-
23 oct. 2008 à 11:31
Bonjour
Dans mon code je recherche une valeur (venant d'une textbox) dans une colonne puis des que la valeur est trouvée, elle renvoie grace aux offset d'autres valeurs dans des text box...le problème c'est que je n'arrive pas a renvoyer des données comme si le activecell.select ne servait à rien.
Auriez vous une idée? Merci
Private Sub New_component_Change()
Dim wb As Workbook
Dim var As Variant
var = New_component.Value 'textbox principale
Workbooks("Editeur_ecn.xls").Worksheets("EENSART_REF").Activate
For Each cell In Range("A1:A65536")
If cell.Value = var Then
ActiveCell.Select
With ActiveCell
New_desfr = .Offset(0, 2) 'textbox de renvoie
New_adddesfr = .Offset(0, 3) 'textbox de renvoie
End With
For Each wb In Workbooks
If Left(wb.Name, 1) = "F" Then
Workbooks(wb.Name).Worksheets("ECN Number").Activate
Exit For
End If
Next
End If
Next cell
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 23 oct. 2008 à 10:54
Ça dépend peut-être de ce que tu recherches comme valeur.
Disons que la valeur est un nombre... Il se peut que ta recherche soit faussée par la valeur de ces nombres, c'est-à-dire que cell.Value peut contenir 123 et var "123". Les 2 valeurs sont différentes puisque la première est un nombre et la 2e est une chaîne.
Essaie plutôt comme ceci
If CStr(cell.Value) = CStr(var) Then .....
Tu pourrais aussi regarder du côté de la fonction Find. Ça évite de devoir boucler sur toutes les cellules et ça accélère le code, en principe.
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
cs_jeyjey1
Messages postés46Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention 8 février 2010 23 oct. 2008 à 11:31
Merci à tous, mais j'ai fait différemment en utilisant FIND comme proposé par Mpi
Dim CelTrouvee as range
set celtrouvee=range("a1:a" & rows.count).find(what:=...) if not celtrouvee is nothing then
New_desfr = celtrouvee.Offset(0, 2) ' colonne B
New_adddesfr = celtrouvee.Offset(0, 3) ' Colonne C endif