XL 2016 Résolu: Trier puis compléter après recherchev

Olivier29b

XLDnaute Nouveau
bonjour

Point de départ: un tableau descriptif de produits, contenant une dizaine de colonnes, dont une colonne contenant les références (alphanumériques). Puis un fichier contenant une partie de ces références, nommé Références_New.
Objectif: j'ai besoin d'isoler certaines références (Référence_news) et de leur attribuer une valeur (1 ou 0) dans une colonne supplémentaire, de façon à pouvoir ensuite filtrer l'ensemble du tableau sur ces références.
Opérations effectuées: dans un premier temps, j'ai effectué une recherchev pour retrouver les référence_New parmi les anciennes références ce qui me permet d'obtenir une colonne renseignée avec les Rérérence_new et des #N/A sinon. En pj, un fichier contenant les 3 colonnes de résultat de la recherchev.

Besoin: j'ai besoin de réorganiser ma colonne Référence_New de façon à ce que les valeurs de cette colonne soient alignées avec celles de la colonne Référence. Je pourrai ainsi indiquer dans la colonne D un 1 lorsque les références sont identiques et un 0 lorsqu'elles sont différentes pour pouvoir, au final, filtrer l'ensemble du tableau en isolant les caractéristiques des Références_New.
J'ai essayé de trier les 2 colonnes mais je n'obtiens pas l'alignement souhaité.

Merci pour vos suggestions et bonne journée
 

Pièces jointes

  • Références.xlsx
    97.3 KB · Affichages: 6

Gégé-45550

XLDnaute Accro
Bonjour,
Suggestion :
- je ne vois pas l'intérêt de la RechercheV en colonne C
- je lui préférerais (en colonne C) : =EQUIV(B2;$A$2:$A$3356;0) pour obtenir le N° de ligne ou se situe l'ancienne référence.

Cordialement,
 
Dernière édition:

Olivier29b

XLDnaute Nouveau
merci pour votre réponse
j'ai testé et j'obtiens effectivement un numéro de colonne à la place d'une référence obtenue par la recherchev.
Néanmoins, je ne vois pas comment trier les colonnes A et B pour aligner les valeurs
Je pensais que la fonction recherchev permettait de remonter une valeur déterminée, par exemple un 1, en ajoutant des guillemets dans la 3e partie de la fonction (=RECHERCHEV(B2;$A$1:$B$3356;"1";FAUX), mais cela ne fonctionne pas ... c'est la référence qui remonte.

j'ai trouvé une formule pour un problème similaire ici
que j'ai tenté d'adapter à mon tableau:
=SI(ESTNA(DECALER($B$2;INDEX($A$2:$B$3356;EQUIV(A2;$B$2:$B$3356);1);));"";DECALER($B$2;INDEX($A$2:$B$3356;EQUIV(A2;$B$2:$B$3356;0);1);))

J'obtiens des décalages mais cela remonte des #N/A ou des #REF! ou des #VALEURS!

Je crois qu'en fait, mon besoin est de trier les colonnes de façon à aligner les valeurs, en laissant des cellules vides dans la colonne Référence_New. Je pourrais ensuite filtrer le tableau par la colonne Référence_New, ajouter 1 dans la colonne D, filtrer à nouveau en sélectionnant "vide" et ajouter 0 dans la colonne D. Faire cet alignement des valeurs Référence_New à la main est fastidieux avec 998 valeurs...

Cordialement
 
Dernière édition:

Gégé-45550

XLDnaute Accro
merci pour votre réponse
j'ai testé et j'obtiens effectivement un numéro de colonne à la place d'une référence obtenue par la recherchev.
Néanmoins, je ne vois pas comment trier les colonnes A et B pour aligner les valeurs
Je pensais que la fonction recherchev permettait de remonter une valeur déterminée, par exemple un 1, en ajoutant des guillemets dans la 3e partie de la fonction (=RECHERCHEV(B2;$A$1:$B$3356;"1";FAUX), mais cela ne fonctionne pas ... c'est la référence qui remonte.

Je crois qu'en fait, mon besoin est de trier les colonnes de façon à aligner les valeurs, en laissant des cellules vides dans la colonne Référence_New. Je pourrais ensuite filtrer le tableau par la colonne Référence_New, ajouter 1 dans la colonne D, filtrer à nouveau en sélectionnant "vide" et ajouter 0 dans la colonne D. Faire cet alignement des valeurs Référence_New à la main est fastidieux avec 998 valeurs...

Cordialement
Comme ça ?
[EDIT] Fichier modifié à 14h13 pour mettre en évidence les Ref_New non trouvées dans Ref
Cordialement,
 

Pièces jointes

  • Références.xlsx
    155.1 KB · Affichages: 2
Dernière édition:

Olivier29b

XLDnaute Nouveau
Merci pour la réponse
je vois bien le tri effectué mais apparemment c'est la colonne Référence_New qui sert de base alors que mon souhait c'est d'ajouter les colonnes dans le fichier existant et que les Référence_New soient comparées aux Référence et triées en intégrant des cellules vides lorsque la Référence_New n'est pas retrouvée dans la référence.
J'ai ajouté un onglet à votre fichier montrant ce que je souhaite (c'est fictif, j'ai copié collé les Référence sans vérifier si elles étaient présentes dans Référence_New).
Ensuite je remplirai la colonne Présence par des 0 et 1 puis je supprimerai la colonne Référence_New. De cette façon je pourrai filtrer l'intégralité de mon fichier sur la colonne Présence pour isoler les Références_New

Cordialement
 

Pièces jointes

  • Références_V2.xlsx
    181.3 KB · Affichages: 3

Gégé-45550

XLDnaute Accro
Merci pour la réponse
je vois bien le tri effectué mais apparemment c'est la colonne Référence_New qui sert de base alors que mon souhait c'est d'ajouter les colonnes dans le fichier existant et que les Référence_New soient comparées aux Référence et triées en intégrant des cellules vides lorsque la Référence_New n'est pas retrouvée dans la référence.
J'ai ajouté un onglet à votre fichier montrant ce que je souhaite (c'est fictif, j'ai copié collé les Référence sans vérifier si elles étaient présentes dans Référence_New).
Ensuite je remplirai la colonne Présence par des 0 et 1 puis je supprimerai la colonne Référence_New. De cette façon je pourrai filtrer l'intégralité de mon fichier sur la colonne Présence pour isoler les Références_New

Cordialement
Comment faire ?
Vous avez dans la colonne "Référence" des valeurs qui ne sont pas dans "Référence_New" mais aussi des 6 valeurs dans "Référence_New" qui ne sont pas dans "Référence" (elles sont surlignées en jaune).
Pour 6 valeurs, ça peut se faire "à la main", non ?
... et, à ces 6 valeurs à ajouter près, la colonne D répond exactement à votre demande (une cellule vide signifie que la référence existe en A mais pas en B).
 

Olivier29b

XLDnaute Nouveau
bonjour

@Gégé-45550 : merci pour la formule, mais j'ai l'impression qu'elle ne fonctionne pas avec mon excel 2016, le résultat est #NOM!. Probablement la fonction XLOOKUP qui n'est pas reconnue. Effectivement les 6 références_New qui ne sont pas dans les anciennes, je peux les traiter à la main si besoin.

@bhbh et Amilio: je n'ai pas PowerQuery, mais votre résultat me semble bien.
Cependant, je ne sais pour quelle raison, j'ai déposé un fichier dont les références ne sont pas triées dans le même ordre que dans mon fichier de base. Je redépose les 4 premières colonnes de ce fichier pour avoir la même chose ici et chez moi

Cordialement
 

Pièces jointes

  • Tri_Ref_New.xlsx
    91.9 KB · Affichages: 2

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Si vous avez excel 2016 vous avez forcément Power Query (se sont les outils d'importation et transformation de données de l'onglet Donnée)

Hiers j'avais fait le fichier ci-dessous qui par power query vous montre trois statuts différents pour vos références :
0Ancienne référence (N'existe plus dans Références_New)
1Référence en cours d'utilisation
2Nouvelle (Existe dans Références_New mais pas encore dans Références)

L'ordre des références tel qu'il est dans la colonne Référence est conservé, à part bien-sûr pour les nouvelles références qui forcément n'y étaient pas.

Lorsque les données de départ changent, un click-droit sur une cellule du tableau vert et "Actualiser"
Pour voir la requête, click dans une cellule du tableau vert puis dans l'onget "Requête" qui s'affiche sur le ruban, cliquez sur le bouton "Modifier" (à gauche). Bienvenue dans power query.

Maintenant les ordres de tris, vous en faites ce que vous voulez , un click sur "Trier" de l'onget "Donnée" et voilà.
Si vous voulez que vos références soit dans un ordre particulier, ajoutez une colonne d'index de 1 à n
(ce que je fais dans ma requête pour restituer l'ordre de départ)

Cordialement
 

Pièces jointes

  • PQ_Ref_Présence.xlsx
    246.3 KB · Affichages: 3

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour le fil, et tout le monde
Bonsoir,
Une solution Power Query (mais que je trouve anormalement lente...)
Je pense que c'est l'ajout de l'index APRÈS la fusion qui crée cette lenteur. (du fait de la Table non encore déployée???)
En modifiant dès le début, on revient sur un tempo normal..
la V2
 

Pièces jointes

  • PQ_Reférences_V2.xlsx
    104.7 KB · Affichages: 0

Olivier29b

XLDnaute Nouveau
@bhbh: merci pour ton aide 👍, c'est exactement ce qu'il me fallait 🙂

@Hasco: hélas pour moi, le fait d'avoir Power Query n'est pas suffisant pour que je sache l'utiliser. Merci pour votre travail sur le fichier. J'essaierai de comprendre comment vous avez fait, ça pourrait m'être utile un jour prochain.

Bien cordialement et bonne fin de journée à vous
 

Discussions similaires

Statistiques des forums

Discussions
315 095
Messages
2 116 169
Membres
112 676
dernier inscrit
little_b