XL 2013 Report automatique de donnée à partir d'un TCD vers un autre fichier

  • Initiateur de la discussion Initiateur de la discussion cece44
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cece44

XLDnaute Junior
Bonjour,
J'ai un cas difficile , je vais essayer de vous l'exposer clairement afin d'obtenir une réponse.

1/ Dans le fichier ACHATS qui comporte plein de liaisons nous souhaitons dans l'onglet Stat AFD+VF inclure automatiquement les quantités livrées (colonne N) et les quantités reprises (colonne T), et inclure automatiquement les prix de vente (colonne O) et d'avoirs (colonne U).

2/ Les chiffres à reporter sont dans un tableau croisé dynamique, il sont répertoriés par code article.

J'ai pensé à une recherche V avec les codes articles, mais je ne sais pas comment le faire.

Quelqu'un peut-il m'aider.

Merci
 

Pièces jointes

C'est bien cela le problème, le code article a changé, mais le service achat continu de l'utiliser dans son fichier de production .....
Il est lié au nouveau code dans l'onglet Poches Bqts et dans le TCD c'est bien stipulé.
Je vous joins de nouveau le fichier avec les légendes pour être explicite.
 

Pièces jointes

Dis-moi si ça te convient :

VB:
Sub Copie()
  Dim Sh As Worksheet, C As Range, Plage As Range, AncCode As Variant, Ligne As Variant
  Set Sh = Workbooks("TCD Produits livrés et repris.xlsx").Sheets("TCD")
  With Sh
    Set Plage = .Range("D5", .Cells(.Rows.Count, 4).End(xlUp))
  End With
  With ThisWorkbook.Sheets("Stat AFD+V.F")
    For Each C In Plage
      AncCode = Application.VLookup(C.Value, ThisWorkbook.Sheets("Poches Bqts").[B:C], 2, 0)
      If IsNumeric(AncCode) Then
        Ligne = Application.Match(AncCode, .[H:H], 0)
        If IsNumeric(Ligne) Then
          .Cells(Ligne, 14).Value = Sh.Cells(C.Row, 7)
          .Cells(Ligne, 16).Value = Sh.Cells(C.Row, 8)
          .Cells(Ligne, "T").Value = Sh.Cells(C.Row, 5)
          .Cells(Ligne, "V").Value = Sh.Cells(C.Row, 6)
        End If
      End If
    Next C
  End With
End Sub

La macro est dans le fichier joint. Les deux classeurs doivent être ouverts.

Daniel
 

Pièces jointes

J'ai eu aussi ce problème de liaison. Apparemment, dans une autre vie, le classeur avait une autre feuille nommée "NB SEAU". Tu devrais pouvoir poursuivre en cliquant sur la croix pour fermer cette fenêtre. Sinon, il faut copier le code que j'ai inséré dans mon précédent post et le coller dans ton classeur. Si tu ne sais pas le faire, dis-le. Je t'indiquerai comment.

Daniel
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour