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 :

Mélanger plusieurs tables


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 129
    Points : 78
    Points
    78
    Par défaut Mélanger plusieurs tables
    Bonjour, je sais qu'il est préférable d'avoir un titre parlant mais là j'ai du mal à en trouver un...désolé.

    J'a besoin de "mélanger" 3 tableaux:
    Tableau1: Salarié/Formation (qui donne les formations nécessaires pour un salarié)
    Tableau2: Salarié/Fonction (Qui donne les fonctions assurées par un salarié)
    Tableau3: Fonction/Formation(Qui donne les Formations nécessaires par fonction)

    C'est 3 tableaux doivent me donner(par Fonction ou par Vba) un tableau de synthèse: Salarié/Formation(Si le salarié a besoin d'un formation dans le tableau 1 ou si le salarié assume les fonctions du tableau 2 et que ces fonctions on besoins de formations dans le tableau 3 alors le salarié aura besoin des ces formations dans la synthèse)

    Ceci étant avec cela vous aurez du mal à comprendre mon besoin...mais avec avec les 4 Tableaux ci-dessous cela devrait éclaircir mon problème (PS: pour le moment je complète mon Tableau Synthèse à la main, mais avec 1000 salariés je souhaiterai pouvoir automatiser cela ?
    Tableau1:
    Nom : Tableau1.jpg
Affichages : 117
Taille : 31,4 Ko
    Tableau2:
    Nom : Tableau2.jpg
Affichages : 118
Taille : 30,0 Ko
    Tableau3:
    Nom : Tableau3.jpg
Affichages : 109
Taille : 22,3 Ko
    Tableau Synthèse:
    Nom : Tableau Synthése.jpg
Affichages : 110
Taille : 30,6 Ko

    Voili Voilou, merci de votre aide toujours très précieuse et appréciée
    Images attachées Images attachées  

  2. #2
    Membre habitué Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Points : 147
    Points
    147
    Par défaut
    Bonjour,

    Difficile de comprendre ton besoin.
    N'est-il pas possible de passer tout simplement par des formules Excel ? RechercheV ou autres...

  3. #3
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 523
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 523
    Points : 16 459
    Points
    16 459
    Par défaut
    Bonjour

    Si tu as la possibilité d'installer PowerQuery en add on sur 2010, intégré à Excel à partir de 2016, c'est faisable par PowerQuery

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 129
    Points : 78
    Points
    78
    Par défaut
    Bonjour
    merci pour ces premières réponses...

    Vba14 Oui c'est certainement possible mais je gère très mal les formules car dans ce cas je pense qu'il faut passer par des matricieles ?!
    et je ne vois pas comment expliquer plus clairement mon besoin...

    78chris Non je ne peux pas installer PowerQuerry ! sniff

    D'autres idée peu être ?

  5. #5
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 523
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 523
    Points : 16 459
    Points
    16 459
    Par défaut
    RE

    En matriciel sur ce volume de données cela va ramer.

    Reste VBA

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Salut.

    Sans Power Query, je remettrais déjà mes données dans une configuration "table", à savoir pour les trois premiers tableaux, 3 colonnes au lieu de tableaux à double entrée.

    Salarié | Formation | Suivie?

    Salarié | Foncion | Active?

    Fonction | Formation | Nécessaire?


    Cela faciliterait la rédaction des formules dans le tableau de synthèse, à mon avis. Après, comme le dit Chris, il faut voir le temps de calcul sur le volume.

  7. #7
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 523
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 523
    Points : 16 459
    Points
    16 459
    Par défaut
    Bonjour à tous

    Pour compléter :
    pas utile à mon avis de mettre VRAI/FAUX, juste les ligne utiles avec 2 colonnes par table ce qui te permet de faire une requête MsQuery (disponible dans toutes les versions Excel)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT `Feuil1$`.Salarié, `Feuil2$`.Formation
    FROM `T:\TEMP\Formation_MSQ.xlsx`.`Feuil1$` `Feuil1$`, `T:\TEMP\Formation_MSQ.xlsx`.`Feuil2$` `Feuil2$`
    WHERE `Feuil2$`.Fonction = `Feuil1$`.Fonction
    union
    SELECT `Feuil3$`.Salarié, `Feuil3$`.Formation from `T:\TEMP\Formation_MSQ.xlsx`.`Feuil3$` `Feuil3$`
    Chemin et nom des feuilles à adapter avec un seul tableau par onglet et le résultat aussi dans un onglet à part (j'ai assemblé sur l'image seulement)

    puis de faire un TCD à partir du résultat, avec une MFC pour faciliter la lecture
    Images attachées Images attachées  

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par 78chris Voir le message
    [...]
    pas utile à mon avis de mettre VRAI/FAUX[...]
    Tout à fait, Chris... C'est encore plus simple et ça limite les lignes... Bien vu

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 121
    Points : 190
    Points
    190
    Par défaut
    Bonjour à tous

    J'aimerai comprendre en quoi la discussion permet de répondre au besoin.

    Je ne comprends pas le tableau de synthèse :

    Je me demande (personnellement) comment est t'il possible de proposer une nouvelle fonction à un employé en suivant la formation qui lui manque?

    Quel est le but de tout cela?

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Je pense que, quelle que soit la finalité de la demande, on est gagnant à organiser ses données de façon à pouvoir utiliser au mieux les outils Excel tels que fonctions xxx.ens, matricielles, tcd et autres.

    C'est dans ce sens que vont nos interventions, me semble-t-il.

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 129
    Points : 78
    Points
    78
    Par défaut
    Bonjour à tous

    Je vous remercie de prendre en compte mon sujet...
    Merci 78chris pour ta solution qui me semble fonctionner, il faut quand même que je la mette en place.

    Pierre Fauconnier tu as tout a fait raison quand tu dit qu'il faut avant tout "organiser ses données de façon à pouvoir utiliser au mieux les outils Excel", cependant c'est justement l'organisation que me propose 78chris qui me gène un peu, car avec une telle organisation il sera difficile de s'assurer que l'on a pas oublier une formations ou une fonction pour un des employé, d'où les tableaux que j'avais proposer...mais ces 2 mises en formes différentes peuvent certainement aussi s'automatiser...

    Je test des que possible, encore merci

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    En fait, il ne faut pas mélanger stockage des données et exploitation de celles-ci (péché capital d'Excel). Or, la matrice rectangulaire fait cela. Elle peut servir à saisir l'info (c'est "parfois" plus pratique), mais pas à la stocker. Pour la stocker, il faut une table structurée comme Chris l'a expliqué. Si après on veut vérifier les données, on peut récupérer les données de la table et les remettre en matrice rectangulaire, par TCD ou par Power Query.

    J'imagine de toutes façons qu'avec 1000 employés, tu n'auras pas que 4 formations et 4 fonctions, et donc ta matrice rectangulaire va vite être lourde à manipuler. J'ai développé un suivi de formations pour une boite de 700 personnes en Access, il y a avait une une grosse cinquantaine de fonctions différentes et le catalogue des formations reprenaient largement plus de 200 formations. Je te laisse imaginer des matrices rectangulaires de saisie pour des volumes de ce genre.

    De plus, cette organisation amène un deuxième péché capital d'Excel, le fait de devoir modifier la structure du classeur lors de l'ajout de données. En effet, dès que tu vas ajouter une formation ou une fonction, tu vas devoir modifier tes formules, tes graphiques, tes TCD. Pourquoi? Parce que tes intitulés de formation ou de fonction, que tu utilises en entêtes de colonne, sont des données. Elles doivent donc se trouver DANS les colonnes, et pas en entêtes de celles-ci, d'où la construction proposée par Chris. Cette construction permettra de considérer toutes les formations comme UNE dimension d'analyse, par exemple en TCD, alors qu'en entête de colonne, chaque formation devient une dimension d'analyse. Ca empêche notamment la comparaison facile des formations entre elle, le calcul du poids de chacune dans le coût (humain, financier, temporel) total des formations, etc, etc.

    Comme suggéré par fraflt69, il faudrait nous en dire plus sur la finalité de ta mise en place, histoire que l'on puisse t'aiguiller vers les solutions qui nous semblent les meilleures.


    Cela étant dit, je ne comprends pas pourquoi ton service IT refuserait d'installer Power Query, qui serait plus que probablement d'une grande aide dans ton cas.

Discussions similaires

  1. Encore une requête complexe sur plusieurs tables
    Par DenPro dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/12/2003, 20h05
  2. Requête complexe sur plusieurs table
    Par DenPro dans le forum Langage SQL
    Réponses: 13
    Dernier message: 25/11/2003, 18h50
  3. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 17h26
  4. Une seule table VS plusieurs tables
    Par LostControl dans le forum Requêtes
    Réponses: 1
    Dernier message: 11/08/2003, 11h56
  5. [SQL] Sélection ds plusieurs table
    Par lord_paco dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/07/2003, 18h53

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