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 :

Créer fichier Recap de commandes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 56
    Par défaut Créer fichier Recap de commandes
    Bonjour,
    Je reçois d'un client central une liste XL de commandes de plusieurs clients dans une feuille.
    Il m’envoie un simili tableau croisé avec la liste des produits en ligne, les clients en colonne et leur quantité en intersection.

    colonneA colonneB colonneC colonneD ... colonneBS
    A1: PRODUITS B1: NomClient1 C1: NomClient2 D1: NomClient3 ... BS1: NomClient70
    A2: nomProduit1 40 ...
    A3: nomProduit2 2,5 10 ...
    A4: nomProduit3 20 10 ... 10
    ...
    A120: Produit121 60 ... 10

    L'idée, je souhaiterai créer dans un autre fichier XL nommé Récapitulatif, un onglet pour la liste de tous les produits (somme de tous les clients) et des onglets par Nom client avec la liste de leurs produits et quantités
    exemple:
    Onglet1=nomClient1 tronqué à10car.

    A B
    Produit1 40
    Produit3 20

    Onglet2=nomClient2 tronqué à10car.

    A B
    Produit2 2,5
    Produit3 10

    ... etc jusqu'au dernier nomClient70


    il faudrait ouvrir le fichier Recap, lancer une macro qui ouvre une fenêtre pour aller chercher le fichier source liste des commandes et exécute la répartition pour chaque client, ferme le fichier liste des commandes, et laisse ouvert le fichier Recap

    N'y connaissant rien en Macro VB, je pense que c'est possible, mais je ne sais pas faire
    Si cela n'est pas clair, j'ai mis des fichiers exemples en pièce jointe
    Un Grand Merci à vous pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 56
    Par défaut
    Merci Winjerome pour ta conversion en tableau, je ne savais pas comment faire dans mon message...

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    pour faire bouger cette discussion et pour le récap par produit tester ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub recapp()
    Application.ScreenUpdating = False
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Set F1 = Sheets("Commandes")
    Set F2 = Sheets("recapproduit")
    F2.Cells.ClearContents
    Dim DernLigne As Long
    Dim DernColonne As Long
    DernLigne = F1.Range("A" & Rows.Count).End(xlUp).Row
    Dim i As Long
    DernColonne = F1.Cells(1, Cells.Columns.Count).End(xlToLeft).Column
    On Error Resume Next
    Set d = CreateObject("Scripting.Dictionary")
        TblBD = F1.Range(F1.Cells(2, 1), F1.Cells(DernLigne, DernColonne))
        For i = 1 To UBound(TblBD)
        clé = TblBD(i, 1)
        For C = 2 To DernColonne
        d(clé) = d(clé) + TblBD(i, C)
        Next C
        Next i
     F2.Cells(1, 1) = "Code Produit"
     F2.Cells(1, 2) = "Quantité"
     F2.Range("A2").Resize(d.Count) = Application.Transpose(d.Keys)
     F2.Range("B2").Resize(d.Count) = Application.Transpose(d.items)
    Application.ScreenUpdating = True
    End Sub
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 56
    Par défaut
    Bonjour,
    Merci pour votre aide, mais ce n'est pas tout a fait ça.
    il faudrait que le recap soit dans un autre fichier que celui des commandes avec :
    un onglet TOTAL pour le total par produit tout client confondus, avec entête du mois en cours des commandes
    puis ensuite un onglet par client avec ses produits et quantités, avec entête du mois en cours des commandes

Discussions similaires

  1. [Débutant] Créer sorties dans le Command Window pour enregistrer des fichiers
    Par clem3900 dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/08/2012, 17h04
  2. Créer un fichier avec la commande cut
    Par megima dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 24/06/2011, 18h31
  3. InstallShield Pro 2010 : créer un DSN et un fichier XML
    Par devuranie dans le forum Autres Solutions d'entreprise
    Réponses: 0
    Dernier message: 01/02/2011, 16h30
  4. Réponses: 1
    Dernier message: 27/10/2005, 11h15
  5. Decompresser un fichier .zip en command prompt cmd
    Par dighou dans le forum Windows
    Réponses: 4
    Dernier message: 23/06/2005, 12h36

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