olivier857
Messages postés188Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 avril 2008
-
9 déc. 2006 à 16:17
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
15 déc. 2006 à 00:17
Bonjour à tous,
Ma question est la suivante, je cherche la meilleur méthode pour automatiser
des recherche V.
J'ai un tableau Excel contenant un très grand nombre de lignes (chaque ligne
est égale à un produit) et pour chacune de ces lignes figure plusieurs colonnes
(divers caractéristiques des produits). Une de ces colonnes correspond aux
références des produits et une autre aux prix de ceux-ci. La colonne référence
est renseignée et la colonne prix est vide.
Je voudrais que pour chaque ligne du tableau (jusqu'à la dernière), le
programme puisse chercher dans un autre tableau conçu sous le même format (càd
une ligne égale = 1 produit, 2 colonnes référence et prix) le prix
correspondant à chaque référence. Pour cela il faut que le programme recherche
dans le second tableau (qui est dans un autre classeur Excel) la référence du
premier tableau puis prenne le prix correspondant pour le stocker dans la
colonne prix du 1er tableau.
Comme je l'ai dit au début cela correspond à automatiser des recherches V, pour
un grand nombre de données, entre 2 tableaux situé dans 2 classeurs différents.
Quelqu'un pourrait t'il m'indiquer comment on fait cela en VB.
deuxmains
Messages postés7Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention 7 avril 2010 9 déc. 2006 à 18:18
bonjour,
cela vaut ce que cela vaut mais voila un bout de code en vba qui devrais répondre a tes besoins il faut juste redéfinir le chemin du classeur contenant les prix et remmettre le bonne valeurs pour les colonnes de chaque objet range
Dim compt As Integer
Dim reference As String
Dim prix As String
Dim refpdt As Workbook
Dim resultat As String
Sub recherche_reference()
'on initialise les variables
Set refpdt = GetObject("chemin
du classeur où sont stockés les références et les prix")
compt = 2
'on demarre la boucle
Do
' on prend la référence du
produit dans le premier classeur
reference =
Range("b" & compt)
' on recherche la ligne de cette
référence dans le deuxième classeur
olivier857
Messages postés188Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 avril 2008 9 déc. 2006 à 21:59
Bonjour deux mains,
Je n'ai pas encore essayer ton code, il faudra attendre lundi pour çà, mais je peux dors et déjà te dire après lecture d ecelui-ci qu'il devrait me rendre service.
Tu a apparement bien répondu à ma question reste plus qu'à tester.
olivier857
Messages postés188Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 avril 2008 9 déc. 2006 à 22:06
Une autre question :
Comment puis-je faire pour que si on change la position d'une colonne dans un tableu, mon code pointe tjs sur celle-ci. En quelque sorte dynamiser le programme en intégrant des "références ou autre suptilités" au colonne du tableau.
Vous n’avez pas trouvé la réponse que vous recherchez ?
deuxmains
Messages postés7Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention 7 avril 2010 9 déc. 2006 à 22:26
salut
Si ça te conviens c'est parfait
pour répondre à ta question je passerais par une boucle if ...then au démarrage du classeur pour retrouver tous les en tête de colonne et leur attribuer un nom de variable.
une autre solution est de commencer par changer le référencement de tes en têtés de colonne. C'est à dire au lieu d'avoir Range("A1") tu as Range ("dépense") et a partir de ce nom de range tu peux extraire des numéro de colonnes pour ton code.
olivier857
Messages postés188Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 avril 2008 14 déc. 2006 à 10:11
Bonjour,
J'aimerais maintenant savoir si il est possible d'effectuer cette recherche V dans fichier texte à la place du classeur excel. Bien évidement uniquement le classeur comportant les prix est remplacer par un fichier texte. Le 1er classeur comportant les formules de recherche V reste identique.
Si une méthode de recherhe V dans des fichiers texte existe je suis preneur.
Si cela n'existe pas, peut être est t'il possible de le faire dans access en important au préalable les données du fichier texte dans access.
Merci d'avance.
P.S.: Le but de ma démarche est d epouvoir faire des recherche V dans une source comportant beaucoup plus de ligne qu'il n'est admissible dans excel.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 15 déc. 2006 à 00:17
Tu pourrais faire des requêtes dans ton fichier texte avec ADO, sans avoir à utiliser Access. Ce n'est pas une rechercheV, mais ça te retournerait les données dont tu as besoin selon les critères demandés dans la requête.
Fais des recherches sur les fichiers Schema.ini
Éventuellement, tu peux copier l'enregistrement (toutes les lignes trouvées) dans une feuille d'Excel et faire tes RechercheV sur cette feuille.
Je ne sais pas si cette option est possible ou bonne dans ton cas, par contre...