Excel - Comparaison de deux listes de prix
Résolu/Fermé
9IceMan9
Messages postés
14
Date d'inscription
lundi 11 juillet 2011
Statut
Membre
Dernière intervention
4 octobre 2012
-
11 juil. 2011 à 05:15
9IceMan9 Messages postés 14 Date d'inscription lundi 11 juillet 2011 Statut Membre Dernière intervention 4 octobre 2012 - 30 juil. 2011 à 19:06
9IceMan9 Messages postés 14 Date d'inscription lundi 11 juillet 2011 Statut Membre Dernière intervention 4 octobre 2012 - 30 juil. 2011 à 19:06
A voir également:
- Faire un tableau comparatif de prix excel
- Tableau croisé dynamique - Guide
- Liste déroulante excel - Guide
- Tableau ascii - Guide
- Comparatif prix amazon - Guide
- Formule excel - Guide
16 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
11 juil. 2011 à 12:52
11 juil. 2011 à 12:52
Bonjour
voir la fluctuations des prix des produits
prix public et/ou prix compagnie?
le format des prix que tu recois chaque sem. est il texte ou nombre (import de données externes pouvant être en texte comme par ex fichiers Txt)?
suivi sur 2 semaines ou tableau récapitulatif sur N semaines?
emic,le plus simple je pense c'est de programmer ca avec un macro
ce sera forcément du VBA et la macro sera loin d'^tre simple
toutefois Microsoft déconseille XL pour des listes >15000 lignes:
http://office.microsoft.com/fr-ch/excel-help/utilisation-d-access-ou-d-excel-pour-gerer-vos-donnees-HA001042918.aspx
voir la fluctuations des prix des produits
prix public et/ou prix compagnie?
le format des prix que tu recois chaque sem. est il texte ou nombre (import de données externes pouvant être en texte comme par ex fichiers Txt)?
suivi sur 2 semaines ou tableau récapitulatif sur N semaines?
emic,le plus simple je pense c'est de programmer ca avec un macro
ce sera forcément du VBA et la macro sera loin d'^tre simple
toutefois Microsoft déconseille XL pour des listes >15000 lignes:
http://office.microsoft.com/fr-ch/excel-help/utilisation-d-access-ou-d-excel-pour-gerer-vos-donnees-HA001042918.aspx
9IceMan9
Messages postés
14
Date d'inscription
lundi 11 juillet 2011
Statut
Membre
Dernière intervention
4 octobre 2012
11 juil. 2011 à 20:10
11 juil. 2011 à 20:10
Bonjour,
Dans le fond ce que je veux, c'est que le fichier me dise quels prix (compagnie seulement) ont été changés ou ajoutés ou enlevés. Les prix sont écrit en nombre (ex:$129.99). Chaque semaine on reçoit la liste mise à jour.
Merci pour votre aide précieuse!
Dans le fond ce que je veux, c'est que le fichier me dise quels prix (compagnie seulement) ont été changés ou ajoutés ou enlevés. Les prix sont écrit en nombre (ex:$129.99). Chaque semaine on reçoit la liste mise à jour.
Merci pour votre aide précieuse!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
12 juil. 2011 à 08:31
12 juil. 2011 à 08:31
bonjour
Si tu es sur un XL francais le point dans ton $99.98 est du texte
alors vérifie par une fonction ESTTEXTE et tu dis...
Michel
Si tu es sur un XL francais le point dans ton $99.98 est du texte
alors vérifie par une fonction ESTTEXTE et tu dis...
Michel
9IceMan9
Messages postés
14
Date d'inscription
lundi 11 juillet 2011
Statut
Membre
Dernière intervention
4 octobre 2012
15 juil. 2011 à 02:46
15 juil. 2011 à 02:46
Bonjour!
Voici le premier classeur, plus ancien :
http://www.cijoint.fr/cjlink.php?file=cj201107/cij0by1igW.xls
et le deuxième plus récent :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijaRRXpCS.xls
Alors j'aimerais qu'ils m'identifie les ajouts, et les différence de prix de la colonne D dans un nouveau fichier.
Merci pour votre aide!
Voici le premier classeur, plus ancien :
http://www.cijoint.fr/cjlink.php?file=cj201107/cij0by1igW.xls
et le deuxième plus récent :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijaRRXpCS.xls
Alors j'aimerais qu'ils m'identifie les ajouts, et les différence de prix de la colonne D dans un nouveau fichier.
Merci pour votre aide!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 858
15 juil. 2011 à 22:56
15 juil. 2011 à 22:56
Bonjour.
Et voilà, c'est fait.
Un bon exercice.
Vous pouvez récupérer le tout ici :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijNHOzkzd.zip
Si problèmes ou améliorations à faire, n'hésitez pas.
Je garde le sujet sous le coude.
Cordialement.
Et voilà, c'est fait.
Un bon exercice.
Vous pouvez récupérer le tout ici :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijNHOzkzd.zip
Si problèmes ou améliorations à faire, n'hésitez pas.
Je garde le sujet sous le coude.
Cordialement.
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 858
16 juil. 2011 à 07:52
16 juil. 2011 à 07:52
Bonjour.
Nouvelle version après correction d'un petit défaut :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijIGLJLHu.zip
Cordialement.
Nouvelle version après correction d'un petit défaut :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijIGLJLHu.zip
Cordialement.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 16/07/2011 à 22:26
Modifié par michel_m le 16/07/2011 à 22:26
Bonjour (bonsoir à tous)
ci joint proposition
https://www.cjoint.com/?3GqwxNSqwLV
le classeur de comparaison est dans le sous dossier "évolutions" et crée un rapport de la semaine ( à adapter éventuellement suivant la date de travail)
les fichiers sources sont rebaptisés provisoirement semaine27,semaine28, semaine29, en attendant que tu fournisses les noms exacts
actuellement l'analyse se fait sur mon vieux coucou en 2,1 secondes. Pourrais tu me dire le temps pour 60000 lignes comme tu l'annonces. Si ca traine de trop, on pourra passer par extraction sur fichiers restant fermés
Michel
ci joint proposition
https://www.cjoint.com/?3GqwxNSqwLV
le classeur de comparaison est dans le sous dossier "évolutions" et crée un rapport de la semaine ( à adapter éventuellement suivant la date de travail)
les fichiers sources sont rebaptisés provisoirement semaine27,semaine28, semaine29, en attendant que tu fournisses les noms exacts
actuellement l'analyse se fait sur mon vieux coucou en 2,1 secondes. Pourrais tu me dire le temps pour 60000 lignes comme tu l'annonces. Si ca traine de trop, on pourra passer par extraction sur fichiers restant fermés
Michel
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 858
17 juil. 2011 à 09:49
17 juil. 2011 à 09:49
Bonjour.
Beau travail.
Mais je me pose une question :
sur mon PC, pour arriver à peu près, au même résultat, à partir des fichiers fournis par "9IceMan9", la durée d'exécution de votre macro est d'environ 1.5 s et de 0.5 s pour ma macro.
Pourquoi cette différence ?
Et mauvaise nouvelle, "9IceMan9" vient d'écrire que les données étaient dans un classeur EXCEL, mais sur deux feuilles.
C'est malheureusement une donnée que nous n'avions pas au départ.
Nous allons devoir réviser nos copies.
Je vous souhaite un bon dimanche.
Beau travail.
Mais je me pose une question :
sur mon PC, pour arriver à peu près, au même résultat, à partir des fichiers fournis par "9IceMan9", la durée d'exécution de votre macro est d'environ 1.5 s et de 0.5 s pour ma macro.
Pourquoi cette différence ?
Et mauvaise nouvelle, "9IceMan9" vient d'écrire que les données étaient dans un classeur EXCEL, mais sur deux feuilles.
C'est malheureusement une donnée que nous n'avions pas au départ.
Nous allons devoir réviser nos copies.
Je vous souhaite un bon dimanche.
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 858
12 juil. 2011 à 09:08
12 juil. 2011 à 09:08
Bonjour.
Pouvez-vous nous mettre une de copie des feuilles "semaine n" et "semaine n-1" sur http://www.cijoint.fr/ pour nous permettre de cogiter sur votre sujet ?
Bien entendu, pour des raisons de confidentialité, des données sont à effacer (description du produit par exemple).
Effacer le contenu des cellules, mais pas la colonne.
Comme la taille des fichiers est limitée à 8 Mo sur cijoint.fr, il sera nécessaire de limiter la copie à quelques centaines ou milliers de lignes.
Et comme tout le monde n'est pas équipé de la version EXCEL 2007 et suivantes, pouvez-vous nous faire copie au format .XLS au lieu de .XLSX ?
Ce sera plus pratique.
Avec ces documents à disposition, je pense que vous aurez plus de réponses à votre sujet.
Merci.
Pouvez-vous nous mettre une de copie des feuilles "semaine n" et "semaine n-1" sur http://www.cijoint.fr/ pour nous permettre de cogiter sur votre sujet ?
Bien entendu, pour des raisons de confidentialité, des données sont à effacer (description du produit par exemple).
Effacer le contenu des cellules, mais pas la colonne.
Comme la taille des fichiers est limitée à 8 Mo sur cijoint.fr, il sera nécessaire de limiter la copie à quelques centaines ou milliers de lignes.
Et comme tout le monde n'est pas équipé de la version EXCEL 2007 et suivantes, pouvez-vous nous faire copie au format .XLS au lieu de .XLSX ?
Ce sera plus pratique.
Avec ces documents à disposition, je pense que vous aurez plus de réponses à votre sujet.
Merci.
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 858
14 juil. 2011 à 08:53
14 juil. 2011 à 08:53
Plus(négation) de nouvelles.
Sujet "Abandonné" ou "Résolu" ?
Sujet "Abandonné" ou "Résolu" ?
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 858
16 juil. 2011 à 23:01
16 juil. 2011 à 23:01
Bonjour.
"est-ce que ça calcule sur plusieurs feuilles de calcul ou seulement une a la fois ?"
En micro-informatique, on est dans des processus "mono-taches".
Donc, je dois répondre que l'on calcule sur une seule feuille à la fois.
Mais c'est tellement rapide, qu'on a l'impression que tout se fait en même temps.
Mais, après tout, c'est le résultat qui compte
La macro travaille sur les feuilles "modifié", "supprimé", "ajouté", et les fichiers "Ancien.xls" et "Nouveau.xls".
A un moment donné, toutes les feuilles sont ouvertes, et la macro se "balade" un peu partout, mais pas n'importe où (pour lire, écrire, déplacer, effacer, copier, coller, modifier, calculer, ...).
Les grandes étapes du programme :
- on nettoie les zones d'écriture des données
- on ouvre les fichiers à comparer
- on recherche les prix modifiés
- on recherche les articles supprimés
- on recherche les articles ajoutés
- on revient sur la page d'accueil
- on referme les fichiers de données
Les résultats sont dans les feuilles "modifié", "supprimé", "ajouté".
Vous pouvez récupérer la macro "Sub Listes_Comparer()" ici :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijUuW2JPi.doc
Si il y a des réglages à faire, n'hésitez pas à me faire signe.
Cordialement.
"est-ce que ça calcule sur plusieurs feuilles de calcul ou seulement une a la fois ?"
En micro-informatique, on est dans des processus "mono-taches".
Donc, je dois répondre que l'on calcule sur une seule feuille à la fois.
Mais c'est tellement rapide, qu'on a l'impression que tout se fait en même temps.
Mais, après tout, c'est le résultat qui compte
La macro travaille sur les feuilles "modifié", "supprimé", "ajouté", et les fichiers "Ancien.xls" et "Nouveau.xls".
A un moment donné, toutes les feuilles sont ouvertes, et la macro se "balade" un peu partout, mais pas n'importe où (pour lire, écrire, déplacer, effacer, copier, coller, modifier, calculer, ...).
Les grandes étapes du programme :
- on nettoie les zones d'écriture des données
- on ouvre les fichiers à comparer
- on recherche les prix modifiés
- on recherche les articles supprimés
- on recherche les articles ajoutés
- on revient sur la page d'accueil
- on referme les fichiers de données
Les résultats sont dans les feuilles "modifié", "supprimé", "ajouté".
Vous pouvez récupérer la macro "Sub Listes_Comparer()" ici :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijUuW2JPi.doc
Si il y a des réglages à faire, n'hésitez pas à me faire signe.
Cordialement.
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 858
18 juil. 2011 à 17:48
18 juil. 2011 à 17:48
"est-ce que ça calcule sur plusieurs feuilles de calcul ou seulement une a la fois ?"
Maintenant j'ai compris pourquoi "9IceMan9" a posé cette question.
"donc il faut traiter 90918 lignes"
Donc sur plus d'une feuille par classeur.
Et cela peut évoluer vers haut (et vers le bas aussi).
Ça, ce n'est pas facile à traiter.
Faut tout repenser.
La retraite c'est super.
Mais là, dur,dur.
J'avais abandonné le VBA depuis pas mal de temps, mais ça revient bien.
Et puis cela permet de faire travailler les neurones.
Cordialement.
Maintenant j'ai compris pourquoi "9IceMan9" a posé cette question.
"donc il faut traiter 90918 lignes"
Donc sur plus d'une feuille par classeur.
Et cela peut évoluer vers haut (et vers le bas aussi).
Ça, ce n'est pas facile à traiter.
Faut tout repenser.
La retraite c'est super.
Mais là, dur,dur.
J'avais abandonné le VBA depuis pas mal de temps, mais ça revient bien.
Et puis cela permet de faire travailler les neurones.
Cordialement.
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 858
Modifié par antipolis a le 28/07/2011 à 06:50
Modifié par antipolis a le 28/07/2011 à 06:50
Bonjour, me revoilà.
Après quelques heures de dur labeur, voici ce que j'ai pu faire afin de pouvoir traiter des classeurs ("Ancien.xls" et "Nouveau.xls") multi-feuilles :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijCKu8Olu.zip
Ce qui a pris beaucoup de temps, c'est de tester la bête, et de corriger les erreurs (de logique et de syntaxe).
Actuellement, dans les classeurs "Ancien.xls" et "Nouveau.xls", il y a 10 000 références. Dans ces deux classeurs, les références sont éclatées sur deux feuilles (Feuil1 et Feuil2). Et on peut aller au-delà.
Ce qui m'inquiète, c'est la durée d'exécution :
- pour 1 000 lignes ==> 00 min, 07 sec;
- pour 10 000 lignes => 07 min, 23 sec;
- pour 20 000 lignes => 27 min, 45 sec;
- pour 90 918 lignes => je n'ai même pas essayé, mais on devrait arriver aux environs de 7 heures.
Si quelqu'un a des idées pour booster l'application, il sera le bienvenu.
Bon amusement.
Après quelques heures de dur labeur, voici ce que j'ai pu faire afin de pouvoir traiter des classeurs ("Ancien.xls" et "Nouveau.xls") multi-feuilles :
http://www.cijoint.fr/cjlink.php?file=cj201107/cijCKu8Olu.zip
Ce qui a pris beaucoup de temps, c'est de tester la bête, et de corriger les erreurs (de logique et de syntaxe).
Actuellement, dans les classeurs "Ancien.xls" et "Nouveau.xls", il y a 10 000 références. Dans ces deux classeurs, les références sont éclatées sur deux feuilles (Feuil1 et Feuil2). Et on peut aller au-delà.
Ce qui m'inquiète, c'est la durée d'exécution :
- pour 1 000 lignes ==> 00 min, 07 sec;
- pour 10 000 lignes => 07 min, 23 sec;
- pour 20 000 lignes => 27 min, 45 sec;
- pour 90 918 lignes => je n'ai même pas essayé, mais on devrait arriver aux environs de 7 heures.
Si quelqu'un a des idées pour booster l'application, il sera le bienvenu.
Bon amusement.
9IceMan9
Messages postés
14
Date d'inscription
lundi 11 juillet 2011
Statut
Membre
Dernière intervention
4 octobre 2012
30 juil. 2011 à 18:04
30 juil. 2011 à 18:04
Bonjour!
Merci pour le travail fait! Juste un petit problème! Quand je lance la macro, erreur!
Erreur d'exécution '9':
L'indice n'appartient pas à la sélection.
Quand je lance le débogueur, il m'amène a la ligne : Worksheets("Feuil" & Var_CompteurFeuillesAncien).Select
merci encore!
Merci pour le travail fait! Juste un petit problème! Quand je lance la macro, erreur!
Erreur d'exécution '9':
L'indice n'appartient pas à la sélection.
Quand je lance le débogueur, il m'amène a la ligne : Worksheets("Feuil" & Var_CompteurFeuillesAncien).Select
merci encore!
antipolis a
Messages postés
15609
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
12 novembre 2014
2 858
30 juil. 2011 à 19:04
30 juil. 2011 à 19:04
Bonjour.
La macro cherche, dans les classeurs Ancien.xls et Nouveau.xls, des feuilles nommées Feuil1, Feuil2, Feuil... et elle n'a rien trouvé.
La macro cherche, dans les classeurs Ancien.xls et Nouveau.xls, des feuilles nommées Feuil1, Feuil2, Feuil... et elle n'a rien trouvé.
9IceMan9
Messages postés
14
Date d'inscription
lundi 11 juillet 2011
Statut
Membre
Dernière intervention
4 octobre 2012
30 juil. 2011 à 19:06
30 juil. 2011 à 19:06
Ah d'accord les feuilles ont des noms tels que price list, price list continue, etc.
9IceMan9
Messages postés
14
Date d'inscription
lundi 11 juillet 2011
Statut
Membre
Dernière intervention
4 octobre 2012
16 juil. 2011 à 21:57
16 juil. 2011 à 21:57
Wow l'exemple est concluant :)
La seule chose que je voulais savoir, est-ce que ça calcule sur plusieurs feuilles de calcul ou seulement une a la fois?
Merci encore pour ton bon travail! :)
La seule chose que je voulais savoir, est-ce que ça calcule sur plusieurs feuilles de calcul ou seulement une a la fois?
Merci encore pour ton bon travail! :)
9IceMan9
Messages postés
14
Date d'inscription
lundi 11 juillet 2011
Statut
Membre
Dernière intervention
4 octobre 2012
16 juil. 2011 à 22:37
16 juil. 2011 à 22:37
Le fichier original s'appelle : PRICEL~ORIGINALE.xls
Il contient 65536 sur la première feuille de calcul, 25 382 sur la deuxième.
Merci encore!
Il contient 65536 sur la première feuille de calcul, 25 382 sur la deuxième.
Merci encore!
9IceMan9
Messages postés
14
Date d'inscription
lundi 11 juillet 2011
Statut
Membre
Dernière intervention
4 octobre 2012
16 juil. 2011 à 22:40
16 juil. 2011 à 22:40
Et le nom du fichier qui s'update toutes les semaines : PRICEL~1.xls
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 17/07/2011 à 11:57
Modifié par michel_m le 17/07/2011 à 11:57
ok, merci
donc il faut traiter 90918 lignes ?
le fichier pricel~1.xls remplace toujours l'ancien pricel~1 ou s'appelle t'il pricel~2
quel est le poids de ce fichier?
excuses moi mais ces précisions me sont indispensables car ce n'est pas du tout tes demandes initiales (1 feuille 60000 lignes, ancien.xls, nouveau.xls)
mets sans faute en PJ ce pricel~1;
d'avance merci car il y a un gros boulot précis à faire et toute imprécision et/ou oubli dans tes explications sera rédhibitoire
donc il faut traiter 90918 lignes ?
le fichier pricel~1.xls remplace toujours l'ancien pricel~1 ou s'appelle t'il pricel~2
quel est le poids de ce fichier?
excuses moi mais ces précisions me sont indispensables car ce n'est pas du tout tes demandes initiales (1 feuille 60000 lignes, ancien.xls, nouveau.xls)
mets sans faute en PJ ce pricel~1;
d'avance merci car il y a un gros boulot précis à faire et toute imprécision et/ou oubli dans tes explications sera rédhibitoire
9IceMan9
Messages postés
14
Date d'inscription
lundi 11 juillet 2011
Statut
Membre
Dernière intervention
4 octobre 2012
23 juil. 2011 à 23:14
23 juil. 2011 à 23:14
C'est exactement ce que je voulais dire antipolis a! :)
Merci!
Merci!
Oui, mais le plus simple je pense c'est de programmer ca avec un macro, parce que juste avec les formules c'est pas forcément évident sinon si tu veux juste une tendance, il est possible d'utiliser les mises en forme automatique, tu peux comparer d'une semaine sur l'autre les articles mais ca sera assez compliqué
La macro que je te conseil :
tu mets les deux listes dans le même classeur
tu utilises une double boucle for : pour la colonne #article ligne i, comparere à colonne #article ligne j, faire varier i que si il y a égalité entre les deux éléments et genre colorier en vert si moins cher en rouge si plus cher
bon courage
La macro que je te conseil :
tu mets les deux listes dans le même classeur
tu utilises une double boucle for : pour la colonne #article ligne i, comparere à colonne #article ligne j, faire varier i que si il y a égalité entre les deux éléments et genre colorier en vert si moins cher en rouge si plus cher
bon courage