Reherche V sur plusieurs colonnes
Bonjour à tous,
Il s'agit de mon premier message sur le forum, je l'ai parcouru sans trouver de réponse à ma question. J'espère que quelqu'un saura et aura la bonté de bien vouloir m'éclairer sur mon souci. Donc je me lance
Dans le cadre de mon nouveau job, j'ai extrait des donnés d'un logiciel de type SAP. Et j'ai également récupéré des données envoyées par mes fournisseurs. Je me retrouve donc avec 2 tableaux.
Sur le premier j'ai : références, usines, poids de la référence, projets (et d'autres informations inintéressantes dans le contexte).
Sur le second j'ai : références, usines, prix, projets (et d'autres informations inintéressantes dans le contexte).
J'ai besoin d'un tableau me permettant de regrouper : références, poids, prix.
Problème : Une seule référence peut apparaitre plusieurs fois, il peut donc y avoir plusieurs lignes avec "1111" comme référence. Mais son poids et/ou son prix est différent selon l'usine dans laquelle elle est produite.
Les tableaux comportent de nombreuses lignes et j'espère trouver une solution me permettant d'éviter de tout me taper a la main... J'étais pourtant assidu en cours d'informatique et tout cela est sensé être frais dans ma tête. Mais pour le coup je sèche totalement...
Merci beaucoup pour votre retour ! Je suis dispo si vous avez des questions.
Bonjour
Joins un exemple car selon la configuration la solution diffère...
Bonsoir, Salut Chris !
Il y a une ambiguïté décisionnelle à lever !
Mais il faut être sûr d'un identifiant correspondant à un même poids-prix pour en faire une extraction, sinon le problème consiste à n'opérer qu'une extraction sans doublon de tryptiques Référence-Poids-Prix qui verra une référence répétée plusieurs fois.
Par ailleurs, s'agissant de données fournies par un logiciel tiers, il est indispensable d'avoir un échantillon représentatif de données pour évaluer précisément les types de données en présence. Un fichier modèle représentatif est donc indispensable...
Cordialement.
Bonjour MFerrand, Chris,
Merci pour votre réactivité !
Pour te répondre MFerrand, en effet, et j'ai oublié de le préciser, le couple "référence-usine" est lui unique.
Et présent sur les deux tableaux, moyennant peut être des corrections manuelles.
Malheureusement je n'ai pas les fichiers ce week-end (weekend du jour de l'an oblige...). Mais je poste un fichier modèle "communicable" dès la reprise.
Encore merci à vous. Bonnes fêtes.
Bonjour,
Désolé pour le délai j'étais sous l'eau.
Voila grossièrement comment se présentent les tableaux, le modèle est en PJ.
Ce que je veux c'est donc réussir à incorporer les volumes en face des couples "Réfs/Usines" et leurs informations.
Encore merci, si ça fonctionne je vais m'éviter des heures de travail à la mano
Bonjour et bonne année,
Il était question de regrouper poids et prix d'un même identifiant référ.-usine.
Plus de poids ! volume à la place ?
Et quel résultat attendu ? Compléter l'un des tableaux ? Les deux ? Faire un 3e tableau : Référ. Usine Volume Prix ?
Cordialement.
Salut MFerrand,
Merci pour ta réactivité !
En effet, tu as raison, mon besoin a en fait un peu changé mais de très peu. Je viens de MAJ le modèle (ci-dessous).
Le résultat que je souhaite c'est : ajouter au tableau "PRIX" (celui de l'onglet "PRIX", qui contient les info : références, Usines, Prix, INCOTERM, Projet, Poids) les volumes correspondants à mes couples REF/USINES.
Et aussi comprendre et utiliser la formule à nouveau.
Voilà une procédure. Vois si elle correspond bien à ce qui est souhaité...
Sub AjouterVolume()
Dim Vol(), d As Object, k, n&, i&
Set d = CreateObject("Scripting.Dictionary")
With Worksheets("VOLUME")
n = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 2 To n
k = .Cells(i, 1) & .Cells(i, 2)
d(k) = .Cells(i, 3)
Next i
End With
With Worksheets("PRIX")
n = .Cells(.Rows.Count, 1).End(xlUp).Row
ReDim Vol(n - 1, 0): Vol(0, 0) = "Volume"
For i = 2 To n
k = .Cells(i, 1) & .Cells(i, 2)
If d.exists(k) Then Vol(i - 1, 0) = CLng(d(k))
Next i
With .Range("G1").Resize(n)
.Value = Vol
.Borders.Weight = xlThin
With .Cells(1, 1)
.HorizontalAlignment = xlCenter
.Font.Bold = True
End With
End With
.Activate
End With
End SubClic sur le bouton pour tester.
Cordialement.