INDEX + EQUIV

Bonjour a tous,

j'ai besoin d'un petit coup de pouce s'il vous plait

voici les elements :

fichier avec 2 onglets (ci-dessous)

  • RUPTURE COMPOSANT
  • SYNTHESE

je souhaite effectuer une recherche vers la gauche (index + equiv je presume) de chaque valeurs se trouvant dans la colonne A de l'onglet SYNTHESE (en-tete nommé REF) dans l'onglet RUPTURE COMPOSANT de la colonne Q jusqu'a DV et me renvoyer les composants rattachés à ces REF ( l'onglet RUPTURE COMPOSANT colonne B) en inscrivant le resultat dans l'onglet SYNTHESE colonne D (sachant qu'une meme valeur est présente plusieurs fois donc une concatenation du résultat doit se faire uniquement en colonne D.

Merci pour votre aide

19aide.xlsx (43.06 Ko)

INDEX+EQUIV sera insuffisant car il ne prendra que la première valeur

Une fonction matricielle sur ce coup, je ne vois pas trop

Reste donc VBA


25aide.xlsm (48.41 Ko)

Et oui j'avoue que c'est complexe en vba je suis preneur

Le fichier est joint, cela te convient-il ?

Bonjour

Non je ne vois pas ton fichier pas contre en ce qui me concerne j'ai bien joint le fichier

Tu as trouvé la solution ?

le post plus haut 18:14, tu cliques sur le fichier joint "dans le texte" ...

il est indiqué dessous à cette heure-ci :

(48.41 Kio) Téléchargé 5 fois

Bonjour Steelson,

Impeccable 1000 merci tu as trouvé exactement ce dont j'avais besoin

merci beaucoup chapeau honnetement je ne pensais pas que quelqu'un aurait pu m'aider.

du coup puis-je te demander un dernier travail qui je pense ne sera vraiment pas difficile pour toi

ok j'attends la question

poste là sur un nouveau topic pour attirer d'autres compétences si besoin !

Comment fait on cela je ne sais pas partir d'un sujet

voila je souhaiterais

copier toutes les cellules non vides de la colonne Q jusqu'a DX de l'onglet rupture composant,

copier les valeurs dans l'onglet synthese en colonne A les unes à la suite des autres

supprimer les doublons

rechercher chaque valeurs de la colonne A du meme onglet dans l'onglet MATRIX et colorier la ligne jusqu'a la colonne R

Sub ruptures()
Dim References As Object
Set References = CreateObject("Scripting.Dictionary")
Sheets("RUPTURE COMPOSANT").Select
lig = Range("Q2").Row
col = Range("Q2").Column
Do Until Cells(lig, col).Value = ""
    Do Until Cells(lig, col).Value = ""
        References(Cells(lig, col).Value) = Cells(lig, col).Value
        col = col + 1
    Loop
    col = Range("Q2").Column
    lig = lig + 1
Loop
Sheets("SYNTHESE").Select
Columns("A:A").ClearContents
Range("A1") = "REF"
Cells(Range("A2").Row, Range("A2").Column).Resize(References.Count) = Application.Transpose(References.Items)
Sheets("MATRIX").Select
End Sub

Le coloriage est ensuite une MFC

vraiment parfait excellent travail je te remercie tu m'a vraiment aide

juste pour ma culture la mise en forme conditionelle sur une ligne est faisable ? peux-tu me dire comment tu l'a construite car je ne savais pas que l'on pouvait faire cela

merci infiniment


juste un petit souci

j'ai remarqué que les cellules non vides des lignes Q33 jusqu'a Q36 non pas étaient transposes dans ma colonne A

surement à cause de la cellule Q32 qui est vide du coup ta macro est sorti de la boucle qu'en penses -tu ?

c'est bon j'ai trouvé d'ou provenait le probleme oufff

merci beaucoup en fait il me manqué juste l'explication sur la mise en forme conditionnelle afin que je puisse la reproduire sur mon fichier

C'est parfait !

C'était un petit mystère pas bien grand du reste, mais j'aime bien ta réaction qui est de fouriller pour comprendre ... car c'est aussi ce que je fais quand je rencontre dess solutions auxquelles je n'avais pensé !

Pour la MFC, en effet, il faut mettre/enlever les $ de façon judicieuse afin de la répercuter sur une plage plus grande.

Juste, pour ceux qui retrouveront par la suite ce fil par rapport au titre,

il aurait possible de faire la recherche sans macro, mais cela aurait était difficile et contraignant :

  • il aurait fallu mettre la table des dépendances à plat, et créer une clé de recherche par concaténation des 2 références
  • il aurait ensuite fallu créer une liste des positions de chaque résultat : lorsque l'on a trouvé une dépendance, on note la position, et on cherche la dépendance suivante à partir de cette position
  • enfin, comme il n'y a pas d'opérateur de concaténation matriciel, il aurait fallu faire la concaténation de tous les résultats 1 par 1 (en remplaçant la position du résultant par la valeur du résultat)

En effet, le titre orientait vers une solution "a priori"

mais comme Sophiane est ouverte d'esprit (contrairement à certains ... ceux qui ne veulent pas de TCD par exemple ! ) elle a pu s'adapter à des solutions différentes car sur ce coup avec des formules, comme tu le signales, c'était pas gagné !

oui c'est vrai que j'aime bien comprendre les choses puis-je t'embeter une derniere fois promis car c'est dans le cadre profesionnel du coup j'ai une contrainte de temps

Steelson a écrit :

En effet, le titre orientait vers une solution "a priori"

mais comme Sophiane est ouverte d'esprit (contrairement à certains ... ceux qui ne veulent pas de TCD par exemple ! ) elle a pu s'adapter à des solutions différentes car sur ce coup avec des formules, comme tu le signales, c'était pas gagné !

Oui j'ai aussi constaté ça... alors que pour un non informaticien, c'est un outil super puissant et une fois l'apprentissage fait, on a une foule de renseignements qu'on n'aurait pas vu autrement

P.

Bonjour steelson puis je te demander une derniere question apres je tembete plus je reconnais ne pas etre capable de le faire

OK

J'attends la question ...

Mais n'héiste pas à créer un nouveau topic si tu veux aussi faire appel à plus de compétences avec un titre ciblé.

Rechercher des sujets similaires à "index equiv"