Rechercher une valeur a partir d'un classeur dans c:\ sans l'ouvrir et la copier
kelllk1
Messages postés3Date d'inscriptionsamedi 10 novembre 2007StatutMembreDernière intervention31 mars 2008
-
30 mars 2008 à 20:07
kelllk1
Messages postés3Date d'inscriptionsamedi 10 novembre 2007StatutMembreDernière intervention31 mars 2008
-
31 mars 2008 à 10:02
Bonjour,
aidez moi svp!!
voilà, mon problème est que je dois saisir une reference dans une box, pour la chercher dans un classeur dans c: et une fois trouvée il la colle dans une plage ke je definirai dans une feuille excel ou il y a le tableau a remplir.
jai trouvé ce code qui marche mais en interne: (dans le meme classeur)
--------------------------------------------------------------------------------------------------------
Sub AdNewClient()
Range("D6") = Application.InputBox(Prompt:="Tapez le PART Number", _
Title:="Nouveau client "): AdValideClient
End Sub
Sub AdValideClient()
Application.ScreenUpdating = False
With Range("D6")
If Application.IsNumber(.Value) = False Then
MsgBox "CODE NON VALIDE"
If Application.MoveAfterReturn = True Then
ActiveCell.Offset(-1).Select
End If
Else: Application.Run Macro:="AdClient"
End If
End With
Range("D6").Select
End Sub
Sub AdClient()
Application.ScreenUpdating = False
Dim MaRéfClient As Object
Dim MaRéf As Object
MonCodeClient = Range("D6").Value
Set MaRéfClient = Workbooks("essai.xls").Worksheets("Infos").Range("Reference").Find(MonCodeClient)
MaDescription = Range("C14").Value
Set MaRéf = Workbooks("essai.xls").Worksheets("Infos").Range("CodePakaging").Find(MaDescription)
If MaRéfClient Is Nothing Then
MsgBox "Ce code client n'existe pas !"
Else
For Each Item In MaRéfClient
Item.Value = MaRéfClient
Next Item
End If
End Sub
------------------------------------------------------------------------------------------------------------
et voici un autre ki permet de lire la valeur d'une cellule dans un classeur fermé
------------------------------------------------------------------------------------------------------------
Sub test()
Dim fich$, feuil$, Cell As Range
fich = "D:\TestADO.xls"
feuil = "feuil1"
Set Cell = Range("A1")
MsgBox GetValueWithADO(fich, feuil, Cell)
End Sub
'Note : cette fonction est utilisable dans une feuille de calcul
'Ex :
' =GetValueWithADO("D:\TestADO.xls";"feuil1";A1)
Function GetValueWithADO(Classeur$, Feuille$, Cell As Range)
'renvoie la valeur de la cellule Cell de la feuille Feuille
'du classeur fermé Classeur
Dim RcdSet As Object
Dim strConn As String
Dim strCmd As String
Dim dummyBase As Range
'prépare une "base de données" bidon pour la clause SELECT
'(une entête fictive et une ligne de données)
Set dummyBase = Cell.Resize(2)