IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Remplacer les données d'une fiche selon les données d'une autre (conditionnel)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Référenceur Web SEO
    Inscrit en
    Novembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Référenceur Web SEO

    Informations forums :
    Inscription : Novembre 2019
    Messages : 2
    Par défaut Remplacer les données d'une fiche selon les données d'une autre (conditionnel)
    Bonjour à tous,
    Je suis nouveau sur ce forum et je m'excuse de poser directement un appel à l'aide mais je suis un peu perdu sur une problématique professionnelle.

    Si le titre n'est pas très clair, je m'en excuse aussi mais je n'ai pas vraiment trouvé mieux

    Voici une rapide explication :
    Je travaille dans une boîte où nous gérons une grosse boutique de E-commerce. La boutique existe depuis 7 ans et a été gérée de manière plus ou moins bonne pendant cette période.
    Dans une visée d'expansion, nous comptons utiliser un gestionnaire de flux qui nous demande des codes EAN (identifiant produit universel grosso modo) pour ajouter nos produits sur les marketplaces.
    Sauf que, le problème, c'est qu'on n'en a rempli que 2000 sur près de 6000 produits je me retrouve donc avec un fichier excel monstrueux où il faut que je remplisse 2000 champs EAN venant de 25 fournisseurs différents Le seul point en commun étant la référence du produit qui, elle, est bien remplie puisque nécessaire pour passer commande

    Je vous avoue que ça me réjouis pas trop de faire tout ça à la main donc je me renseigne pour savoir si quelqu'un pourrait m'aider sur ce problème. J'ai déjà fais plus ou moins l'algorithmique en langage courant mais je ne sais pas si les macros excels sont suffisantes pour faire ça... Dans l'idée c'est un énorme search & replace sur 2 fichiers et 2000 champs différents. Voici l'idée que j'avais de la résolution du problème :

    - Créer une variable nb = "nombre de lignes" rentrée manuellement
    - Création d'une boucle qui existe tant qu'on n'est pas à la fin du fichier i < nb, i++
    - Vérifier si la référence produit qu'on trouve dans le fichier A existe dans le fichier B
    - Si oui, alors vérifier si EAN =/= 0 dans le fichier B
    - Si non, on passe à la ref suivante
    - Copier l'EAN de A et le coller dans le champ EAN de B

    Je sais pas si je suis très clair dans mon explication, j'ai trouvé ça plus simple en l'écrivant comme ça.

    Des exemples très simplifiés en PJ

    exemple catalogue fournisseur EAN.xlsxexemple notre catalogue.xlsx

    Edit : J'ai indiqué conditionnel dans le titre parce qu'évidemment il nous manque aussi des références sur certains produits, on fait les commandes au fournisseur en lui envoyant le nom et il se débrouille. C'est quelque chose que je change en même temps pour mettre à jour le catalogue mais une chose après l'autre !

    Merci d'avance à ceux qui auront répondu ! Je ne cherche pas forcément de fonction toute faite (même si je vais pas vous mentir, j'apprécierais ) mais une confirmation de la faisabilité et une petite piste seraient déjà un bon avancement

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Hadory Voir le message
    Sauf que, le problème, c'est qu'on n'en a rempli que 2000 sur près de 6000 produits je me retrouve donc avec un fichier excel monstrueux où il faut que je remplisse 2000 champs EAN venant de 25 fournisseurs différents Le seul point en commun étant la référence du produit qui, elle, est bien remplie puisque nécessaire pour passer commande
    Transforme tes 25 fichiers fournisseur en une seule liste et ton problème pourra se régler avec une simple formule RECHERCHEV à copier sur 2000 lignes.

    Il serait judicieux de placer un filtre sur l'ensemble pour pouvoir séparer en deux clics les références renseignées de celles qui ne le sont pas.

    Ca te prendra moins de temps que développer une macro.

  3. #3
    Candidat au Club
    Homme Profil pro
    Référenceur Web SEO
    Inscrit en
    Novembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Référenceur Web SEO

    Informations forums :
    Inscription : Novembre 2019
    Messages : 2
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Transforme tes 25 fichiers fournisseur en une seule liste et ton problème pourra se régler avec une simple formule RECHERCHEV à copier sur 2000 lignes.

    Il serait judicieux de placer un filtre sur l'ensemble pour pouvoir séparer en deux clics les références renseignées de celles qui ne le sont pas.

    Ca te prendra moins de temps que développer une macro.
    C'est vrai que je n'avais simplement pas pensé à cette fonction et que je me prenais la tête pour rien à penser à une macro
    Penser simple c'est encore la meilleure chose à faire ...

    Merci pour ta réponse claire et concise en tout cas

    Edit : en fait mon problème est encore pire que prévu, je pensais que les ID étaient les bons mais ils ont finalement été générés par les fournisseurs et représentent les identifiants des fournisseurs qui ne sont donc pas les fabricants (sachant que j'ai la liste des fabricants)
    En gros les ID sont internes et changent selon le fournisseur, je suis bon pour le travail à la mano comme on dit.
    Quelqu'un a un site de petit chinois volontaires à me dépanner par hasard ? Je paie mal mais ils auront toute ma reconnaissance !

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Hadory Voir le message
    ils ont finalement été générés par les fournisseurs et représentent les identifiants des fournisseurs qui ne sont donc pas les fabricants (sachant que j'ai la liste des fabricants)
    Les fournisseurs n'apprécient pas trop qu'on les shunte et mettent généralement en place des tracasseries de ce genre pour l'éviter.

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/10/2017, 17h55
  2. On remplace le printf par une autre fonction
    Par chirazch dans le forum C++
    Réponses: 6
    Dernier message: 31/05/2013, 18h59
  3. shell_exec: Remplacer un dossier par une autre
    Par Gon3s dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 18/04/2012, 13h12
  4. remplacer un jpanel par une autre au cours d'execution du programme
    Par switch1 dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 10/02/2009, 13h31
  5. Remplacer des données par d'autres
    Par curt dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/03/2008, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo