Filtrer des lignes identiques sur plusieurs champs

Bonjour,

Je voudrais obtenir une liste des changements d’un jour à l’autre de mes articles.

La structure de mon fichier est toujours la même :

• Colonne A : Numéro d’article (unique)

• Colonne B : Prix 1

• Colonne C : Prix 2

• Colonne D : Prix 3

• Colonne E : Prix 4

• Colonne N : Prix N

D’un fichier à un autre il se peut :

1. Qu’un des prix ait été changé  il me faut donc la ligne entière

2. Qu’un nouvel article ait été ajouté  il me faut donc la ligne entière

3. Un article effacé  pas besoin de l’information

Pour essayer d’illustrer :

Mes prix d’hier :

Feuille1

Code article/Prix1/Prix2/Prix3/Prix4

123/101/102/103/104

456/1001/1002/1003/1004

789/1/2/3/4

987/10/20/30/40

Mes prix d’ aujourd’hui (l’article 999 qui a été rajouté et le 789 ses prix ont changé) :

Feuille2

Code article/Prix1/Prix2/Prix3/Prix4

123/101/102/103/104

456/1001/1002/1003/1004

789/11/22/33/44

999/11/12/13/14

Le résultat souhaité :

Résulat souhaité

Code article/Prix1/Prix2/Prix3/Prix4

789/11/22/33/44

999/11/12/13/14

Merci pour votre aide

Salut et bienvenue sur le Forum,

Si tu désires obtenir de l'aide, le mieux est de nous fournir un fichier exemple.

Ensuite, peux-tu bien me préciser que c'est à chaque fois des fichiers différents (et non pas des feuilles différentes d'un même fichier) ?

Au cas ou se sont deux fichiers différents, comment sont-ils générés ? C'est toi-même qui les crées ou tu les reçois d'une manière quelconque ? Comment se nomment les différents fichiers (ont-ils toujours le même titre avec une référence à la date qui varie) ? Où sont-ils placés dans ton arborescence ; dans le même dossier ?

A te relire.

Bonjour Yvouille,

je ne peux malheureusement pas te fournir les fichier pour des question de confidentialité.

Pour répondre à tes questions :

Sachant que je structure moi-même les fichiers, je peux soit en faire deux fichiers distincts avec le nom que je souhaite, soit mettre les informations sur deux feuilles différentes dans un même fichier et les placer dans le dossier de mon choix.

Il s’agit donc de trouver comment comparer 14000 lignes en prenant en compte TOUS les champs des dites lignes (car il se peut que sur 31 champs de la ligne, seul un prix diffère).

Ci-joint un exemple (cette fois ci sur 3 feuilles mais je peux créer un deuxième fichier si j’en veux deux) factice (j'ai mis en surbrillance les articles concernés).

Merci d’avance

19exemple.xlsx (11.52 Ko)

Salut,

yannick78 a écrit :

je ne peux malheureusement pas te fournir les fichier pour des question de confidentialité.

Ton fichier réel (avec les bons noms de feuilles, avec les bons titres, etc.) mais avec des données bidon aurait probablement été mieux. Mais bon, on va se contenter de ça et on corrigera par la suite ce qui est nécessaire.
yannick78 a écrit :

mais je peux créer un deuxième fichier si j’en veux deux

Non, c'est bien entendu toujours plus facile de travailler qu'avec un seul fichier.

Alors regarde le fichier ci-joint. Pour traiter 14000 données, ça prend à peu près 2 minutes chez moi, sur un PC assez lent, mais c’est déjà pas mal, non ?

Comme améliorations par la suite, il y aurait la possibilité de marquer d’une couleur les colonnes où sont trouvés des prix différents.

A te relire.

26exemple-v01-03.zip (249.25 Ko)

Bon cela m'a l'air bien top tout cela. Merci à toi !

Je me fais envoyer les dernières données ce soir et je fais mouliner tout cela.

Je te tiens au courant rapidement

Comme tu m'as l'air très très fort, puis-je abuser ?

Une fois que j'obtiens le résultat des articles, il faut que je les transpose pour avoir une structure type à insérer dans mon système.

Tu as remarqué que il y a 31 prix pour un article et il faut que pour chaque article du résultat que le prix soit en face du numéro de liste . Ci-joint ton fichier avec en feuille filtre ce que je voudrais dans la seconde étape.

Merci encore de ton aide.

15exemple-v01-03.zip (241.63 Ko)
yannick78 a écrit :

Tu as remarqué que il y a 31 prix pour un article

Non, il y en a 32

Dans le fichier ci-joint, j'ai simulé 4 lignes 'à problèmes'.

A te relire.

16exemple-v2.zip (253.04 Ko)

En effet il y en a 32

Je viens de lancer la moulinette avec les vrais chiffres et cela semble être ok (je te le confirme lundi matin après l'avoir fait en live

Concernant mes listes, elles ont un numéro spécifique (je viens de rajouter de vraies données dan le tableau joint--> oui je sais tu m'avais prévenu )

Cela signifie, que dans le résultat final, il faut les vrais "numéros de liste". (en jaune ce que cela devrait être sur la feuille "filtre".

Ensuite, comment puis-je faire si je veux rajouter ou supprimer une liste de prix --> supprimer ou rajouter une colonne tout simplement? ou cela va fausser ta formule?

Merci d'avance

Yannick

15exemple-v2-1.zip (26.49 Ko)

Salut,

Ah si seulement tu m’avais fourni depuis le départ les bonnes informations ! Je sais, tu m’as déjà dit que je t’avais déjà dit, mais quand même !

Le fichier ci-joint a été modifié dans le sens demandé.

Si tu n’as vraiment que 31 listes de prix, dis-le-moi et je corrige mon code en conséquence. Ca ne sert à rien de laisser cette 32ème liste de prix apparemment inutile.

Je t’avais également dit que, selon sous quelle forme tu reçois les données à comparer chaque mois, on pourrait en automatiser leur transfert dans ce fichier de comparaison.

Tu ne dis pas précisément sur quelles feuilles tu désires supprimer quelles colonnes. Mais éventuellement que la solution serait qu’à la fin de la macro, une feuille ou des feuilles d’archive ou carrément un fichier d’archive soit créé sur lesquelles tu pourrais apporter toutes les modifications manuelles voulues. Mais pense que si c’est toujours les mêmes modifications, ça pourrait être automatisé.

Tu ne me fournis les informations qu’au compte-gouttes et ce n’est pas évident de te donner un conseil global.

Encore une info : Si tu me retournes des fichiers, pense à incrémenté le numéro de la version (Vx).

Amicalement.

NB : Il ne faut zippé ton fichier que s’il dépasse 300 Ko.

26exemple-v3.xlsm (30.58 Ko)

Merci c'est tip top.

Je fais le test demain matin en live.

Concernant l'import auto, cela ne sera pas possible dans un premier temps car les données que je reçois changent tous les mois et cela me prends 5 minutes manuellement pour le faire donc, pas de souci.

La seule chose, en effet, pour l'automatisation est : il se peux que je doivent rajouter une liste de prix (numéro 15 par exemple) donc soit tu peux m'expliquer comment rajouter une colonne de liste de prix dans ta formule soit, et cela est plus un luxe, cela peux se faire dynamiquement en fonction des numéro de liste sur la première ligne.

Le reste ne changera pas, donc c'est toujours code article et ensuite les numéros des liste de prix (max 100 liste un jour un dans 1 an ou plus).

En tout les cas, si cela tiens demain , tu auras résolu ma demande avec brio !

Merci encore et à bientôt car je pense que ton aide va m'ouvrir d'autres perspectives

Selon moi, afin de comparer un nombre variable de listes de prix :

A ) il faut soit que sur la feuille prix j-1 et sur la feuille prix j-2 tu aies à chaque nouvelle comparaison une série de listes de prix identique (dans un tel cas on pourrait actualiser la série de listes de prix sur la feuille ‘resultat souhaité’ à chaque comparaison, même si cela n’est utile qu’une fois sur 1000) ou

B) il faut que tu m’indiques clairement de quelle manière les feuilles prix j-1 et prix j-2 se présentent avec des séries de listes de prix différentes. Mais si vraiment il se peut que les listes de prix varient d’une feuille à l’autre, ça risque d’être compliqué.

Dans tous les cas, une automatisation vaut mieux qu’une intervention manuelle ; ça réduit le risque d’erreurs.

A te relire.

on a de la chance c'est le premier cas :

il y aura toujours la même structure et les mêmes numéros de liste de prix dans le même ordre entre les deux feuilles à comparer.

Alors voici un fichier qui traite un nombre de listes quelconque.

Cordialement.

17exemple-v4.xlsm (32.62 Ko)

Après une semaine de test cela fonctionne très bien.

Merci à toi encore

Bonjour Yvouille

je rencontre un souci car j'ai une mise à jour global à faire de mes 15000 articles avec les 31 listes de prix.

Or dans le résultat final, le nombre de ligne ne dépasse pas les 32 767.

Il me faudrait la possibilité d'avoir 15000*31 soit 465000 lignes dans le résultat.

Peux-tu m'aider à augmenter les ligne de résultat stp?

Merci beaucoup

Salut,

yannick78 a écrit :

Or dans le résultat final, le nombre de ligne ne dépasse pas les 32 767.

Ceci veut dire qu'une variable est déclarée comme 'Integer'. Afin d'augmenter les possibilités de cette variable, tu remplaces 'Interger' par 'Long' ; alors ça peut traiter jusqu'à 2'147'483'647 lignes

La seule variable de ton code qui a encore ce type est DerLig_Filtre As Integer.

Cordialement.

Merci cela fonctionne

Tu es au top!

Bonjour

je rencontre pour la première fois un souci :

"Erreur d'exécution 13 Incompatibilité de type"

Si tu te rappelle de moi et que tu as 2 secondes, pourrais-tu m'aider stp?

Merci à toi

Yannick

en revanche quand je ne mets que 1000 lignes dans les deux feuilles (2x1000 lignes) cela fonctionne

Re,

Est-ce la première fois que tu travailles avec autant de lignes ?

As-tu modifié quoi que ce soit dans la macro que je t'avais fournie à l'époque ?

A te relire.

Non je n ai rien modifié, et j'avais déjà gérer ce nombre de ligne

Peut être est ce un format de contenu?

Rechercher des sujets similaires à "filtrer lignes identiques champs"