XL 2016 Agrégation de données if .valeurs égales

Dourken

XLDnaute Nouveau
Bonjour à tous,

Je bloque sur un projet VBA. J'ai réussi à me démerder pour faire deux macros qui fonctionnent mais je n'arrive pas à faire le reste malgré toutes les recherches que j'ai faites.

Mon fichier fonctionne en deux étapes, la première permet de transposer des éléments de fichier d'injection avec des données horizontales à la verticale. vers une nouvelle feuille de calcul en cliquant sur le bouton 1.

Le second bouton me permet d'aller chercher ces infos et de les copier dans un template pour injection de données. Il manque néanmoins une partie de code pour faire en sorte d'aller chercher des valeurs telles que:

- Dans Feuille "Template injection" si colonne D = Feuille "Colonne Attribut" colonne C alors copier la valeur présente dans la colonne B de la feuille "Colonne Attribut" dans la colonne C de la feuille "Template injection"
- Dans Feuille "Template injection" si colonne D = Feuille "Colonne Attribut" colonne C alors copier la valeur présente dans la colonne I de la feuille "Colonne Attribut" dans la colonne B de la feuille "Template injection"

J'ai tenté de faire des règles IF avec .Value = X then copy mais je débute et tout ce que j'ai fait ne fonctionne pas. Je joins un bout de fichier avec données anonymes afin de vous permettre je l'espère de m'aider avec ce morceau de code.
 

Pièces jointes

  • Agrégation de données.xlsm
    41.9 KB · Affichages: 10

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Avec excel 2016 vous pouvez faire toutes ces étapes par requête Power Query.

Voici à partir de ce que j'ai compris de votre demande, une proposition power query.
Lorsque les données changent il suffit d'actualiser la requête du tableau de la feuille que "Transposition_injection".

Cordialement
 

Pièces jointes

  • Agrégation de données.xlsm
    65.4 KB · Affichages: 12

Dourken

XLDnaute Nouveau
Bonjour,

ça semble correspondre au besoin, je ne connais pas du tout power query. Il va falloir que je regarde un peu plus dans le détail comment ouvrir les bandeaux et comment lancer l'actualisation de la requête.

Merci beaucoup c'est top !

Bonne soirée
 

Dourken

XLDnaute Nouveau
C'est exactement ça, je vois comment ça fonctionne et j'ai accès à la requête.
Du coup, les macros que j'avais faites ainsi que les boutons peuvent tout simplement être supprimés si je ne dis pas de bêtises?

Merci encore, c'est top !

Bonne journée
 

Hasco

XLDnaute Barbatruc
Repose en paix
bonjour,

Oui vous pouvez les supprimer. Peut-être que garder un exemplaire de votre fichier avant leur suppression serait une bonne chose. Vous verrez à l'usage, ce que vous voulez définitivement conserver.

Cordialement
 

Dourken

XLDnaute Nouveau
En fait après avoir potassé un peu plus le sujet, (j'étais sur d'autres projets), ça ne convient que si on ne change pas le nom des entêtes "ligne A" des valeurs à injecter.
je souhaite automatiser ce fichier pour une utilisation auprès de plusieurs utilisateurs et de plusieurs types de données entrantes. Du coup, je vais repartir sur mon approche VBA.

Soit avec une rechercheV soit avec du if et then. Il me reste donc toujours deux colonnes à automatiser. Si vous avez des idées. Je suis toujours preneur.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

J'ai repris le fichier du post #2 avec sa requête et reproduit la chose par VBA.
Par contre je ne comprends toujours pas à partir de quoi vous trouvez vos valeurs* pour les colonnes F et G et leur lien exact avec "Attribut" alors je prends les valeurs à partir du tableau des attributs..

* celles que vous semblez attendre dans la feuille 'Template injection'.


Cliquez sur le bouton 'Agrégeons les Données :)'

Cordialement
 

Pièces jointes

  • Agrégation de données v2.xlsm
    68.5 KB · Affichages: 7
Dernière édition:

Dourken

XLDnaute Nouveau
Alors là, je dis chapeau !
C'est magnifiquement exécuté, merci ! Je vais éplucher le code pour essayer de bien tout comprendre. C'est exactement ce que je souhaitais faire avec une taille de fichier variable et des entêtes de colonnes qui peuvent changer d'un fichier d'injection à l'autre.

Les valeurs F et G correspondent aux valeurs de E et F dans la table "Fichier d'injection" (ce que vous avez d'ailleurs repris) mais l'objectif est surtout de contrôler ça et de modifier les valeurs à la manière d'un inventaire.
 

Discussions similaires

Réponses
6
Affichages
390

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon