macro pour importer les valeurs d'un autre classeur mais sans doublons....

Melomie

XLDnaute Occasionnel
Bonjour tout le monde,

Je suis enrtain de créer une macro qui traite un fichier de données brutes extraites d'SAP.

En effet, dans le nouveau tableau que je voudrais créer je souhaiterais reprendre le numéro des articles, et afficher dans une autre colonne, le stock disponible de cet article mais j'ai un double problème:

Non seulement les valeurs des stocks sont à prendre dans un autre document excel,
mais en plus il faudrait que pour chaque article qui se répète, le stock dispo ne soit affiché qu'une seule fois.

Comme ceci:

Article quantité en stock

85641499 18,04
85641499
85641499
85641499
85641499
85641499
85641515 27,2
85641515
85641515
85641516 10.1

La raison c'est que j'ai crée une autre macro qui, à partir de ce tableau, va tout synthétiser dans un tableau croisé dynamique, or si les stocks sont écrits plusieurs fois le TCD additionne toutes les valeurs et le stock est faux!!

Quelqu'un aurait-il la solution?

Ca fait 1 semaine que je suis dessus, je désespère... J'aurais du penser au forum bien avant! ;)

Merci
 
Dernière édition:

Vilain

XLDnaute Accro
Re : Importer les valeurs d'un autre classeur mais sans doublons.... en VBA

Bonjour,

plusieurs solutions : soit tu utilises une fonction conditionnelle, soit, plus simple, dans ton tableau croisé au lieu de choisir somme, tu choisis max ou min avant d'avoir simplement la valeur que tu souhaite.

A plus
 

Melomie

XLDnaute Occasionnel
Re : Importer les valeurs d'un autre classeur mais sans doublons.... en VBA

Bonjour tout le monde,


En fait je ne peux pas modifier les paramètres de mon TCD car il se construit sur la base des données de mon tableau initial. C'est donc au niveau du tableau initial que je dois mettre ma fonction...
 

Melomie

XLDnaute Occasionnel
Re : macro pour importer les valeurs d'un autre classeur mais sans doublons....

J'ai mis un fichier attaché, c'est uen copie tronquée de mon vrai fichier.

Vous verrez que dans ma colonne stock, les stock des articles sont répétés autant de fois que l'article apparait. Mon problème: il faudrait que ca n'apparaisse qu'une seule fois par article et que le reste soit vide car après quand je lance mon tableau croisé dynamique, il m'additionne toutes les valeurs trouvées pour chaque article...
résultat, si un article a un stock de 3 et qu'il apparait sur 4 lignes différentes, mon TCD mettre un 12 en stock (3x4)... au lieu de 3 bien sûr!

merci
 

Pièces jointes

  • Test final des stock.xls
    263.5 KB · Affichages: 142

Vilain

XLDnaute Accro
Re : macro pour importer les valeurs d'un autre classeur mais sans doublons....

SAns explications supplémentaires, ton tableau n'est pas facile à comprendre...
Je ne comprend pas pourquoi la solution max ou min dans le TCD ne fonctionnerait pas.
Une autre solution consiste à rajouter une colonne à ta base de données, avec une fonction conditionelle qui testerait le numéro du produit pour voir s'il est identique à la ligne du dessus. Si oui, alors vide, si non alors quantité :

Sur ta feuille1, ça donnerait qqch comme ça : =SI(A2=A1;"";F2)
du coup tu pourrais ajouter ce champ à ton TCD et ne pas avoir de sommes.

Cela convient ?

A plus

Edit : formule à tirer jusqu'en bas du tableau évidemment !
 

Melomie

XLDnaute Occasionnel
Re : macro pour importer les valeurs d'un autre classeur mais sans doublons....

En fait il faudrait que lorsque j'importe les valeurs des stocks (par une fonction recherchev) ça ne me mette qu'une seule fois le stock pour chaque numero d'article.
En gros il faudrait que:

Si une autre ligne concernant le même article a deja sa case "stock" remplie, alors il faudrait ne rien mettre dans la case stock en question. Par contre si c'est la première fois que l'on traite cet article, il faut que son stock apparaisse.

C'est plus clair? je ne sais pas comment expliquer...

En fait dans le tableau que j'ai donné en pièce jointe on voit bien dans la colonne stock (colonne H de la "feuil1") que les valeurs sont répétées pour chaque ligne, même si l'article est le même que celui du dessus. C'est là tout mon problème...
 

Melomie

XLDnaute Occasionnel
Re : macro pour importer les valeurs d'un autre classeur mais sans doublons....

Bonjour a tous,

désolé pour mon absence répétée dans la discussion, j'étais occupée à autre chose. je me suis remise sur la macro et je n'y arrive toujours pas... J'ai essayé avec le min / max ca ne marche pas car en fait ça met le max dans chaque ligne donc ça revient au même (toujours autant de doublons)... je vais tenter avec le SI...

Merci
 

Melomie

XLDnaute Occasionnel
Re : macro pour importer les valeurs d'un autre classeur mais sans doublons....

J'ai testé avec le si mais ça me pose 2 soucis:
- j'ai été obligée de rajouter une colonne (a la limite c'est pas très grave)
- l'autre souci c'est que dans mon SI j'ai dis que par exemple si j'suis en B2:
si A2=A1
alors ""
sinon A2

et le souci c'est que du coup si j'ai rien en stock pour un article, ca va soit afficher rien ("") soit afficher zéro...
et vu qu'a partir de ce fichier on va faire tout un tas de calculs ca va pas. Il faudrait que ce soit toujours affiché la même chose pour une même situation (en l'occurrence zéro stock).

Jsais pas si c'est très clair c'est dur à expliquer...

si je vous mets un bout de mon tableau après coup ça fait ça:

article / stock / stock sans doublons
1 / 0 /
2 / 0 /
3 / 0 /
4 / 43 / 43
5 / 0 / 0
 

Melomie

XLDnaute Occasionnel
Re : macro pour importer les valeurs d'un autre classeur mais sans doublons....

donc dans mon exemple on voit qu'il n'y a pas de stock de l'article 1 ni du 5 mais que pour le 1 la colonne stock sans doublons affiche rien alors que pour le 5 elle affiche 0...

et vu que les calculs futurs seront basés sur la colonne stock sans doublons il faudrait remédier à ce problème...
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 107
dernier inscrit
cdel