> Tous les forums > Forum Bureautique
 Recherche dans base en VBASujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Yaloo
  Posté le 07/11/2010 @ 15:32 
Aller en bas de la page 
Petit astucien

Bonjour à tous,

Voici un fichier où je souhaite rechercher des données dans une base de produit avec certaines dimensions pour en récupérer le prix du produit.

Le problème est que je recherche une dimension mais à 5 cm près en plus. C'est à dire si je rentre une hauteur entre 110 et 115 je veux récupérer le prix du produit de hauteur 110. De même pour la largeur.

Voir le fichier, car avec un exemple c'est plus parlant.

Merci pour vos réponses.

Publicité
gilbert_rgi
 Posté le 07/11/2010 à 16:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour

un truc dans le genre

fonctionne en version 2007

cliquez ici

Salutations

Gilbert_RGI

Yaloo
 Posté le 07/11/2010 à 16:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Gilbert,

Oui c'est ça dans le principe, merci pour ta réponse.

Mais il me le faudrait en VBA car c'est pour mettre dans un classeur où je déclenche plusieurs macros et il faudrait que ce code vienne se greffer dans un autre.

De plus, il faut que si je rajoute un rideau, le prix vienne se placé sous le prix précédent.

Yaloo
 Posté le 07/11/2010 à 16:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re

J'ai fait une modification dans le fichier car en utilisant le fichier envoyé par Gilbert je me suis aperçu que ma base n'est pas tout à fait réaliste. Les hauteurs ne vont pas de 10 en 10, mais peuvent finir par 5.

Excusez-moi pour cette erreur, je ne pensais pas que cela pouvait jouer sur la méthode de recherche.

ferrand
 Posté le 07/11/2010 à 17:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut,

J'avais une interrogation car tu dis d'abord "à 5 cm près en plus" et ensuite "entre 110 et 115".

Dans le premier cas les dimensions de 110 à 115 (inclus) sont admises, dans le second ce sont les dimensions de 110 à 115 (exclus) qui le sont (la formule de Gilbert correspond à ce dernier cas, 115 étant arrondi à 120).

Dans les 2 cas, 109,9... est exclus bien sûr. (?)

Pour ma part, j'aurais proposé une recomposition du tableau de recherche avec les prix au croisement de ligne et colonne selon hauteur et largeur, pour opérer avec EQUIV et INDEX. Mais toutes les solutions qui donnent le résultat sont valides. Je n'ai pas revu avec ton dernier tableau que j'ai eu du mal à charger.

Dans tous les cas, il est tout de même bon que tu précises l'approximation, c'est à dire la plage exacte de dimensions courverte par une hauteur ou largeur nominale (et si la valeur saisie à rechercher est une valeur entière ou peut être décimale et jusqu'à quel degré de précision: 1/2 cm, mm, etc.).

NB: la dernière fois que j'ai fait faire des rideaux, j'ai fourni les dimensions au 1/2 cm près.

Yaloo
 Posté le 07/11/2010 à 17:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Ferrand,

Il ne s'agira que de nombre entier.

Sachant que mon rideau est de 110, je veux que mon prix soit affiché, si la hauteur rentrée dans la cellule est comprise entre 110 et 115. Idem pour la largeur.

En espérant avoir répondu à tes questions.

A+

Yaloo
 Posté le 07/11/2010 à 18:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re

On peut faire un tableau de croisement comme tu le préconise cela ne me gêne pas, par contre, dans l'exemple je n'ai mis que peu de dimensions et peu de modèle.

J'ai peur que si l'on fait, comme tu le préconise, des tableaux avec croisement Hauteur et Largeur, le fichier soit très lourd.

A+

ferrand
 Posté le 07/11/2010 à 18:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Yaloo a écrit :

Bonjour Ferrand,

Il ne s'agira que de nombre entier.

Sachant que mon rideau est de 110, je veux que mon prix soit affiché, si la hauteur rentrée dans la cellule est comprise entre 110 et 115. Idem pour la largeur.

En espérant avoir répondu à tes questions.

A+

Pas tout à fait.

1) Tu n'as pas dit si les dimensions était portées en cm entiers (sans décimales). On peut avoir 109, 110 ...115 mais jamais 109,5 ?

2) Si entre 110 et 115 : 110, 111, 112, 113, 114 = 110 ; 109, 115 = hors format ?

Tableau "croisé" : s'il est sur une feuille, il comportera moins de nombres que ton tableau initial, il ne peut donc pas alourdir un fichier ; et si éventuellement, il n'est constitué que le temps de faire le calcul (par macro), ça occupera encore moins de place.

Yaloo
 Posté le 07/11/2010 à 18:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re

Dans mon message de 17:58 je stipulait que ce n'était que des nombres entiers.

Pour 110 il me faut 110, 111, 112, 113, 114, 115 = 110 ; 109 et 116 hors format.

Ok pour le tableau "croisé" mais si tu dis que cela serait moins lourd qu'avec le procédé actuel alors on y va comme ça.

A+

Publicité
ferrand
 Posté le 07/11/2010 à 21:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Ma contribution : http://cjoint.com/?0lhvuDdffMC , sur tes valeurs modifiées

Tableau réorganisé. Formule différente de celle de Gilbert (mais avec le même défaut, si tu veux que la valeur+5 soit prise en compte [115 pour 110]). Fonction macro, utilisée ici comme formule dans la feuille (celle-ci prend en compte la valeur+5 avec la valeur de référence).

Yaloo
 Posté le 08/11/2010 à 00:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir Ferrand,

J'ai bien l'impression que c'est exactement ce que je cherchais.

Ce soir je suis trop fatigué pour voir ça en détail. Je te tiens au courant demain ou au plus tard après demain.

A+

Yaloo
 Posté le 08/11/2010 à 23:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir,

Ca fonctionne parfaitement, j'ai pu adapter à mon vrai fichier.

Merci Ferrand de ton aide précieuse.

A+

ferrand
 Posté le 08/11/2010 à 23:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Pour adapter, il faut déjà bien maîtriser la chose. Bonne continuation.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Recherche de Valeurs dans une base de données
Pub et blocage recherche dans Paperport
Recherche Verticale dans 3 plages
reinitialiser clé primaire dans une base de données LIBRE OFFICE
Le curseur et les fonctions de base dans Word 2013
recherche dans classeur
Recherche d'une fonction dans EXCEL
recherche de contact dans les listes de diffusion
libre office requête dans module base
Champ fixe dans base access
Plus de sujets relatifs à Recherche dans base en VBA
 > Tous les forums > Forum Bureautique