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éation d'une macro excel compliquée


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 69
    Points : 34
    Points
    34
    Par défaut création d'une macro excel compliquée
    Bonjour,

    J’ai besoin de votre aide pour la création du macro VBA relativement complexe surtout quand on y connaît rien du tout.
    Il faudrait que je crée un fichier regroupant des informations de 2 autres fichiers.
    Un fichier étant une base de données et l’autre des résultats.

    Ex :

    Base de données
    AA Granny Pomme Fruit
    AB Golden Pomme Fruit
    AC Gala Pomme Fruit
    BA Orange Agrume Fruit
    BB Clémentine Agrume Fruit
    CA Bintje Pomme de terre Légume
    CB Ratte Pomme de terre Légume
    DA Choux de bruxelle Choux Légume
    CB Choufleur Choux Légume

    Ventes
    Code Nbre vendu
    AA 12
    AB 5
    AC 9
    BA 33
    BB 2
    CA 12
    CB 11
    DA 15
    DB 1

    Résultat (tableau généré par la macro)
    Pommes 26
    Agrume 35
    TOTAL FRUIT 61
    Pomme de terre 23
    Choux 16
    TOTAL LEGUME 39

    La macro doit comparer des données de la base et des ventes pour afficher le bon résultat sur la nouvelle feuille.

    Si vous pouvez m’aider a construite cette macro, je vous en remercie 1000 fois.

    Salutations.

    Vincent.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 93
    Points
    93
    Par défaut
    pas forcément besoin de VBA pour ca

    dans ta feuille des ventes tu mets à chaque ligne des formules (avec RECHERCHEV) qui rappatrient tes catégories ("Pomme") et supercatégories ("Fruit")

    et puis hop ensuite un tableau croisé dynamique et le tour est joué

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 69
    Points : 34
    Points
    34
    Par défaut
    oui mais le but et de le faire en automatique.
    Une personne qui ne connait rien aurait qu'a sélectionner ses fichiers et hop, la macro s'occupe de tout.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 93
    Points
    93
    Par défaut
    bon ca risque d'être un peu moins hop que ça...

    je vois deux solutions VBA
    1 - indiquer les 2 fichiers, la macro fait un TCD, le met en forme (supprimer des lignes non souhaitées, etc).
    je ne sais pas très bien manipuler les TCD avec VBA, mais tu dois pouvoir trouver 120000 posts la-dessus sur le forum, et aussi chercher des infos en tapant frénétiquement sur la touche F1 de VBA

    2 - système complexe de boucles / filtres
    d'abord boucle sur toutes les lignes de la BD, mettre les Supercatégories dans une collection sans doublons (voir tuto silkyroad http://silkyroad.developpez.com/excel/doublons/

    pour chaque supercatégorie = chaque item de la collection
    - faire un filtre dans la BD sur la supercatégorie
    - mettre les catégories restant visible dans une autre collection sans doublons

    pour chaque catégorie
    filtrer la BD sur la catégorie
    boucler sur les lignes restant visibles (attention les boucles For Each passent dans ce cas plusieurs fois sur chaque ligne, donc bug : il faut mettre en fait les lignes visibles dans une collection sans doublons, puis boucler sur cette collection)
    pour chaque code AA AB AC..., compter le nb de ventes dans fichier vente (une formule SOMME.SI devrait convenir)
    faire la somme de ces ventes dans un compteur catégorie
    faire la somme de ces ventes dans un compteur supercatégorie
    écrire le compteur catégorie
    remettre à zéro le compteur catégorie
    boucler sur la catégorie suivante

    écrire le compteur supercatégorie
    remettre à zéro ce compteur
    boucler sur la supercatégorie suivante

    ouf...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 69
    Points : 34
    Points
    34
    Par défaut
    ouch !! compliqué pour un novice.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour Vincent,

    Peux-tu mettre en ligne ton fichier pour voir comment il est fait. C'est plus facile pour t'aider.
    Merci

  7. #7
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour le fil le forum sur quelle critere tu determines que c est un fruit ou un legume pour compter pas facile

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Bonsoir le Forum, Vincent

    Ai utilisé une macro et des formules pour arriver, je l'espère au résultat attendu.
    Trois feuilles sont utilisées, la table des produits, la feuille de données avec un bouton et une feuille Resultat faisant la synthèse par famille, sous famille
    En espérant que cela t'aidera à résoudre ton problème, ou à tout le moins le faire avancer.

    Slts
    Fichiers attachés Fichiers attachés

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 69
    Points : 34
    Points
    34
    Par défaut
    Danix,

    Les données sont mises à jour gràce à la macro sur l'onglet DATA, c'est top.
    Par contre, il faudrait maintenant que le tableau final se créé tout seul avec des sous totaux par familles et quelque soit le nombre de produits, familles etc....

    Le tableau actuel étant fixe, il ne tiens pas en compte de la nouvelle listes de données réactualisée.

    Merci pour ton aide.

Discussions similaires

  1. Création d'une macro pour générer un xml depuis excel
    Par vieri dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/12/2011, 09h46
  2. [XL-2007] Crash excel lors de la création d'une macro par code
    Par miikado dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/11/2011, 18h47
  3. Création d'une macro dans excel
    Par shawn69 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/02/2010, 10h13
  4. création d'une macro en word et excel
    Par trabin dans le forum VBA Word
    Réponses: 10
    Dernier message: 04/04/2008, 19h37
  5. {EXCEL ou VBA}Création d'une macro (Débutant)
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/05/2007, 15h32

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