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é
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
où
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å