Macro interminable

Y compris Power BI, Power Query et toute autre question en lien avec Excel
j
juju125
Jeune membre
Jeune membre
Messages : 27
Inscrit le : 6 mai 2019
Version d'Excel : 2016

Message par juju125 » 6 mai 2019, 17:52

Bonjour à tous,

La macro que j'ai fait fonctionne sur peu de lignes mais elle doit servir pour un fichier de plus de 120 000 lignes, et là elle ne se finit jamais.
Son but est d'insérer une ligne sur le deuxième tableau dès que celui-ci n'a pas le même libellé que le premier, ainsi le deuxième tableau aura autant de ligne que le premier. Sur chaque ligne insérée, le libellé du premier tableau s'ajoute.

Auriez-vous une idée afin que la macro fonctionne sur beaucoup de lignes ? J'ai joins une partie du fichier avec la macro.

Merci d'avance pour vos réponses.
Macro.xlsm
(666.98 Kio) Téléchargé 11 fois
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'603
Appréciations reçues : 251
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 6 mai 2019, 18:21

bonjour

si tu veux obtenir une synthèse de tes 2 tableaux, je te propose une simple RECHERCHEV
sans macro

en A2
=SIERREUR(RECHERCHEV([@LIBELLE];G2:I763;3;FAUX);[@[Qté. stock]])
la formule se recopie seule vers le bas

sur mon PC, ton fichier se calcule en 2 secondes
amitiés
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'603
Appréciations reçues : 251
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 6 mai 2019, 18:22

bonjour

si tu veux obtenir une synthèse de tes 2 tableaux, je te propose une simple RECHERCHEV
sans macro

en D2
=SIERREUR(RECHERCHEV([@LIBELLE];G2:I763;3;FAUX);[@[Qté. stock]])
la formule se recopie seule vers le bas

sur mon PC, ton fichier se calcule en 2 secondes
amitiés
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
Avatar du membre
78chris
Passionné d'Excel
Passionné d'Excel
Messages : 5'037
Appréciations reçues : 382
Inscrit le : 9 juillet 2017
Version d'Excel : 2010 à 2019 + 365

Message par 78chris » 6 mai 2019, 18:54

Bonjour à tous

L’énoncé initial me parait curieux : on a des libelles et numéros de semaine et ceci en n exemplaire dont si tu ne compares que le libellé la notion de manquant est assez limité et dans le cas présent c'est le tableau 2 qui a des libellés dont présents dans le tableau 1....
Chris
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'433
Appréciations reçues : 674
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 6 mai 2019, 19:03

Bonjour,
je rejoins 78Chris dans ses remarques et je pose une question :
Quel est l'objectif final ? Ce n'est certes pas d'insérer X lignes !...
Si, on somme le tableau par libellé et semaine, le tableau 1 se réduit à peau de chagrin…
maintenant, je n'ai pas testé la proposition de jmd et RechercheV(). :wink:
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'603
Appréciations reçues : 251
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 6 mai 2019, 19:10

re à vous

j'ai interprété la question sous l'angle : j'ai un gros fichier A de données, et j'ai un petit fichier B contenant des données plus à jour.
et je veux mettre à jour A avec les données de B (qui doivent donc finalement remplacer les anciennes de A)

ma proposition fait 1/2 du travail
car il faudra ensuite copier la colonne D et la copier "spécial valeur" sur la col C (par macro si on veut)
le fichier A sera alors à jour.

amitiés à tous
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
Avatar du membre
78chris
Passionné d'Excel
Passionné d'Excel
Messages : 5'037
Appréciations reçues : 382
Inscrit le : 9 juillet 2017
Version d'Excel : 2010 à 2019 + 365

Message par 78chris » 6 mai 2019, 20:06

RE

Oui mais tu ne tiens pas compte du numéro de semaine donc cela me parait un peu aléatoire ou je n'ai pas compris l'objectif...
Chris
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'603
Appréciations reçues : 251
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 6 mai 2019, 20:27

pas de problème

si la date est à prendre en compte, alors l'identifiant n'est pas la référence, mais une nouvelle colonne à créer dans les 2 tableaux
= référence & date

simple, hyper rapide à créer, et efficace.

on ne parle pas assez sur le forum de cette notion d'identifiant

amitiés
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
j
juju125
Jeune membre
Jeune membre
Messages : 27
Inscrit le : 6 mai 2019
Version d'Excel : 2016

Message par juju125 » 6 mai 2019, 20:34

Merci pour vos réponses :) , l'objectif est d'obtenir le stock (somme des quantités présent dans le tableau 1) et la quantité utilisée prévu (somme des quantités du tableau 2) par libellé pour chaque semaine. Ce qui va permettre de décider si il y a besoin d'un approvisionnement ou non.
J'essaierais ta méthode demain jmd.
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'433
Appréciations reçues : 674
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 6 mai 2019, 21:27

Re,
Un début de réponse à analyser.
Réalisé avec Power Query (natif Excel 2016).
(les feuilles Stock et Prévisions sont pour l'exemple, mais il n'est pas utile de les charger dans une feuille de calcul).
Cdlt.
juju125.xlsx
(687.5 Kio) Téléchargé 8 fois
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message