Recherche d'une valeur en fonction d'une reférence

bonjour

nous sommes une association

je cherche à automatiser une tache assez pénible le changement de tarif à partir d'un fichier des fournisseurs organisé différemment

explication

j'ai un fichier excel qui sert de catalogue avec des colonnes (nos tarifs)

dont les plus importantes sont

référence

désignation

prix

je dois faire la mise à jour à partir d'un autre fichier excel où sont regroupés les fournisseurs et leurs produits mais dans un ordre différent de mon fichier catalogue

on retrouve dans ce fichier les mêmes colonnes

référence

désignation

prix

j'ai choisi de garder les mêmes références que nos fournisseurs

je souhaite pouvoir faire de façon automatique le changement de prix avec comme clé de tri la colonne référence du fichier fournisseurs

si la valeur contenue dans la cellule "référence" de mon fichier catalogue est égale à une des valeurs dans la colonne "référence" du fichier fournisseur (la fonction fait une recherche dans la colonne jusqu'à ce qu'elle trouve ) alors je copie la valeur de la cellule "prix" du fichier fournisseur ( correspondant à la référence) dans la cellule "prix" du fichier catalogue sinon j'affiche erreur

ensuite j'appliquerai la fonction à chaque cellule de la colonne "prix" de mon catalogue

je ne suis pas un utilisateur averti d'excel et je crois qu'il existe ce genre de fonction

merci beaucoup de votre aide

Bonjour.

Il faut rechercher dans ce forum les discussions sur la fonction RECHERCHEV

Elle est assez facile à utiliser, mais elle oblige parfois à recopier en première colonne A des données qui sont dans uen autre colonne D paz exemple (A1=D1, à recopier tout au long de la colonne A)

Bonjour,

Ta question serait plus facile à résoudre avec un bout de fichier sous les yeux, qui reprend ce que tu as au départ et le résultat que tu souhaites obtenir.

Pour joindre un fichier, suis le lien dans le haut de cette page Joindre un fichier

dré

bonjour et merci

n'étant pas très doué en informatique je ne savais pas que cela était possible merci à dre pour son info voilà donc un bout de fichier:

https://www.excel-pratique.com/~files/doc/xFgkkrecherche.xls

encore merci pour vos post c'est vraiment sympa d'aider les débutants

Bonjour,

Dans ton exemple, la formule est :

=RECHERCHEV(A2;fichier fournisseurs!$A$2:$A$31;3;0)

ATTENTION !

Les références des 2 onglets doivent êtres parfaitement identiques.

Sur ta feuille CATALOGUE tu as réf a1 alors que sur la feuille FICHIER FOURNISSEURS tu as a01.

Je sais que ces références sont pour l'exemple, mais je tenais à t'informer de ce point.

Comme j'imagine que l'alea dans ta colonne prix n'existe pas en réalité !

Amicalement

Nad

Salut Nad,

Je fais mon petit intrus, comme d'habitude :

Il me semble que ceci serait mieux :

=RECHERCHEV(A2;'fichier fournisseurs'!$A$2:$C$31;3;0)

Des petites ' de part et d'autre du nom de la feuille, car il y a une espace.

La plage de recherche est A:C et non A:A

dré

3pour-zirak.xlsm (24.10 Ko)

bonjour

tout d'abord bravo et merci à dré et Nad dan pour leur aide et leur rapidité

c'est exactement ce que je voulais pour mon fichier catalogue

voilà ce que j'ai compris dans la formule

=RECHERCHEV(A2;'fichier fournisseurs'!$A$2:$C$31;3;0)

=RECHERCHEV c'est la fonction

(A2;'fichier fournisseurs'!$A$2:$C$31;3;0) se sont les paramètres

A2 c'est la colonne de tri

'fichier fournisseurs' c'est le classeur où il faut chercher et sans les ' ' c'est un fichier..xls

!$A$2 c'est la cellule de début de la plage de recherche

( les $ sont là pour éviter une incrémentation abusive lors de la copie)

$C$31 c'est la cellule de fin dans la colonne C ( dans mon cas il me faudra aller voir le numéro de la dernière ligne du fichier fournisseurs)

3 c'est la 3 eme colonne du fichier fournisseurs celle des prix

0 je ne sais pas à quoi ça correspond

je vais adapter la formule aux fichiers rééls car ils ont plus de lignes et de colonnes que dans mon exemple.

Pour répondre à Nad Dan dans le fichier fournisseurs il y aura des références que nous ne vendons pas et dans catalogue des produits que nous fabriquons (très peu) qui n'auront pas de réf commune avec celles nos fournisseurs ('d'où les a01 et a1 que tu avais remarqués comme la fonction aléa pour faire varier les prix au hasard)

grâce à vous je vais gagner du temps

encore merci merci beaucoup à vous deux

JB

bonjour

j'ai testé la formule donnée par nad dan et dré qui fonctionne sur le fichier réel

voilà ce que cela donne pour la cellule E3

=RECHERCHEV(A3;fournisseurs!$A$1:$H$7450;7;0)

les chiffres affichés dans la colonne prix sont bons et correspondent bien à ce que je voulais obtenir...

mais si je tente une opération ou un calcul sur toutes les cellules de la colonne E

cela donne #valeur

voir fichier ci joint ( c'est un échantillon du fichier réel que je n'ai pas pu joindre il faisait plus d'un Mo )

valeur de la cellule E3 du fichier échantillon

=RECHERCHEV(A3;fournisseurs!$A$1:$H$63;7;0) j'ai supprimé des lignes pour l'alléger

https://www.excel-pratique.com/~files/doc/travcata.xls

col B : texte contient les désignations

col C : nombre contient le poids en grammes ou litrage en cm3

col D : zone de calcul ( E* div par C* X 1000) donne le prix au kg ou au litre

les col C et D seront masquées

alors

col F : copie de la col D ( =somme D*)

je ne comprends pas pourquoi sur l'exemple avec le fichier

https://www.excel-pratique.com/~files/doc/xFgkkrecherche.xls

je pouvais faire des opérations sur la colonne C une multiplication par exemple et que sur mon fichier travcata.xls je n'y arrive pas.

j'ai essayé de ne copier que la valeur de la cellule mais cela me donne un résultat d'un nombre entre " exemple "2.32"

merci de votre aide

JB

l

Salut le forum

La solution du côté du séparateur décimal.

Tu utilises le point ou la virgule comme nombre décimale ?

Mytå

Bonjour, salut Myta,

Les ref (colonne A) ne sont pas identiques pour les deux feuilles : a1 et a01

Ce problème t'avait déjà été signalé par Nad dès lundi dernier !

Si en catalogue!C2 tu écris :

=RECHERCHEV(B2;'fichier fournisseurs'!B:C;2;0)

cela fonctionne

Par contre en écrivant :

=RECHERCHEV(A2;'fichier fournisseurs'!A:C;3;0)

cela ne fonctionne qu'à partir de a10

Je te conseille de maintenir la ref a01car elle permet de trier.

dré

bonjour

merci à Myta pour sa piste

La solution du côté du séparateur décimal.

Tu utilises le point ou la virgule comme nombre décimale ?

c'était le cas dans le fichier fournisseurs les chiffres décimaux sont écrits avec le "." et pas le ","

je vais faire sur la colonne prix un remplacer "." par "," et le tour et joué j'ai déjà teste sur le fichier échantillon ça marche.

merci à tous pour votre aide rapide et efficace

Salut le forum

Merci de ton retour de réponse, que mon début de solution te conviens.

A une prochaine ficelle

Mytå

Rechercher des sujets similaires à "recherche valeur fonction reference"