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

Excel Discussion :

Filtres elabores avec resultats transposés [XL-2010]


Sujet :

Excel

  1. #21
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Ok merci, je teste ça demain car je dois m'absenter ce soir.
    On se tient au courant.
    Encore merci, a demain

  2. #22
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Bonjour,
    Test concluant.
    Je vais donc transformer tous mes tableaux en VRAI tableau.

    Merci beaucoup pour ton aide.

    Je clos le post

  3. #23
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Citation Envoyé par graphikris Voir le message
    Bonjour,
    Test concluant.
    Je vais donc transformer tous mes tableaux en VRAI tableau.

    Merci beaucoup pour ton aide.

    Je clos le post
    Je réponds a mon propre post car j'ai parlé un peu trop vite.
    Tout marche sauf pour Retard et En cours (lignes 6 et 17 du code ci dessous)
    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
    'Extraction des n° d actions du plan d amelioration du processus
            Range("F18").Select
        Selection.FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=RC5) * (Tab_Plan_Actions_RP[Processus]=R2C1), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("F19").Select
        Selection.FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=""En cours"") * (Tab_Plan_Actions_RP[Processus]=R2C1) * (Tab_Plan_Actions_RP[Jours de retard] <> ""Aucun""), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("F20").Select
        Selection.FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=RC5) * (Tab_Plan_Actions_RP[Processus]=R2C1), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("F21").Select
        Selection.FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=RC5) * (Tab_Plan_Actions_RP[Processus]=R2C1), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Selection.FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=RC5) * (Tab_Plan_Actions_RP[Processus]=R2C1), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("F22").Select
       Selection.FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=""En cours"") * (Tab_Plan_Actions_RP[Processus]=R2C1) * (Tab_Plan_Actions_RP[Jours de retard]= ""Aucun""), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("F18:F22").Select
        Selection.AutoFill Destination:=Range("F18:L22"), Type:=xlFillDefault
        Range("F18:L22").Select
        Range("E23").Select

  4. #24
    Membre expérimenté
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 667
    Points : 1 419
    Points
    1 419
    Par défaut
    Bonjour,

    Il te faut un nom de tableau plus court pour que chaque formule tienne en 255 caractères.

  5. #25
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Ok je suis nul, en plus on en avait parlé auparavant.
    Je corrige l'erreur.

    sinon une autre question si tu veux bien encore m'aider :

    Lorsque mon tableau m'indique l'ensemble des actions (Réalisé-En cours-Retard-Abandon-Permanente) Lignes F19:L19, je voudrais, uniquement pour les actions en RETARD, avoir en cellules D35: D41 les N° qui viennent se reporter puis en E35:E41 les échéances de ces actions et en F35:F41 les points de situation. En D34 le titre N° en E34 Échéances et F34 Point de situation
    Je joins un fichier exemple
    Fichiers attachés Fichiers attachés

  6. #26
    Membre expérimenté
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 667
    Points : 1 419
    Points
    1 419
    Par défaut
    La formule est quasiment la même:

    plan action.xlsx

  7. #27
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Merci.
    Je me doutais bien que ça devait etre quasi pareil mais j'ai dû mal à la comprendre.
    En plus je n'ai pas trop de logique.

  8. #28
    Membre expérimenté
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 667
    Points : 1 419
    Points
    1 419
    Par défaut
    Si tu veux que je te l'explique, n'hésite pas à demander...

    Au final, je doute toujours de l'utilité d'une macro en tout cas pour insérer ces formules.

    Et tu devrais remplacer tous tes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("F22").Select
       Selection.FormulaArray =
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("F22").FormulaArray =
    En ayant à l'esprit que le jour où tu veux décaler tout d'une ligne et/ou d'une colonne, toutes les adresses dans ta macro sont à remplacer... :p
    Tu devrais au minimum utiliser des plages nommées (une en chaque début de table et après tu gères en relatif avec la fonction offset).

  9. #29
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Tu devrais au minimum utiliser des plages nommées (une en chaque début de table et après tu gères en relatif avec la fonction offset).
    ouille ouille ouille, quoi qui nesse ?
    Sinon il est vrai que les programmeurs de chez Microsoft Office n'ont toujours pas étudier la question concernant le renommage automatique des cellules, des colonnes, des noms de tableau, etc...

  10. #30
    Membre expérimenté
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 667
    Points : 1 419
    Points
    1 419
    Par défaut
    Ex: supposons que tu affectes le nom PremiereCase à F18:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Range("PremiereCase").FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=RC5) * (Tab_Plan_Actions_RP[Processus]=R2C1), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("PremiereCase").Offset(1,0).FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=""En cours"") * (Tab_Plan_Actions_RP[Processus]=R2C1) * (Tab_Plan_Actions_RP[Jours de retard] <> ""Aucun""), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("PremiereCase").Offset(2,0).FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=RC5) * (Tab_Plan_Actions_RP[Processus]=R2C1), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("PremiereCase").Offset(3,0). <etc>

  11. #31
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Sauf si je n'ai rien compris, est-ce qu'un simple tableau croisé dynamique ne ferait pas l'affaire ?
    1. Dans la liste des données, ajouter une colonne avec un numéro unique
      Dans le tableau croisé dynamique
    2. Le processus en filtre de rapport
    3. Le n° en étiquettes de colonnes
    4. Le statut en étiquettes de lignes
    5. et la colonne ajoutée en valeur avec comme synthèse 'Nombre'
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  12. #32
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Sauf si je n'ai rien compris, est-ce qu'un simple tableau croisé dynamique ne ferait pas l'affaire ?
    1. Dans la liste des données, ajouter une colonne avec un numéro unique
      Dans le tableau croisé dynamique
    2. Le processus en filtre de rapport
    3. Le n° en étiquettes de colonnes
    4. Le statut en étiquettes de lignes
    5. et la colonne ajoutée en valeur avec comme synthèse 'Nombre'
    Non un TCD ne me convient pas car il s'agit de regrouper à des endroits precis sur une feuille nommée SYNTHESE un tas de renseignements qui vient de plusieurs feuilles d'une base de données.
    Sinon merci pour ton post.

  13. #33
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Citation Envoyé par Promethee25 Voir le message
    Ex: supposons que tu affectes le nom PremiereCase à F18:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Range("PremiereCase").FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=RC5) * (Tab_Plan_Actions_RP[Processus]=R2C1), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("PremiereCase").Offset(1,0).FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=""En cours"") * (Tab_Plan_Actions_RP[Processus]=R2C1) * (Tab_Plan_Actions_RP[Jours de retard] <> ""Aucun""), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("PremiereCase").Offset(2,0).FormulaArray = _
            "=IFERROR(INDEX(Tab_Plan_Actions_RP[N°], SMALL(IF((Tab_Plan_Actions_RP[Statut]=RC5) * (Tab_Plan_Actions_RP[Processus]=R2C1), ROW(Tab_Plan_Actions_RP[N°]) - ROW(Tab_Plan_Actions_RP[[#Headers],[N°]]), 10000000), COLUMN()-COLUMN(RC5))), """")"
        Range("PremiereCase").Offset(3,0). <etc>
    J'imprime ton code puis je vais l'etudier pour essayer dans sortir quelque chose de positif.
    Si je veux devenir Forgeron, il faut que je forge.
    Encore merci Promethee25 par ton aide précieuse.

  14. #34
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Non un TCD ne me convient pas car il s'agit de regrouper à des endroits precis sur une feuille nommée SYNTHESE un tas de renseignements qui vient de plusieurs feuilles d'une base de données.
    Et bien rien n'empêche de réaliser un TCD au départ d'une liste de données qui elle même est le résultat de la consolidation de plusieurs autres tableaux. Il faut toujours découper les problèmes en plusieurs solutions.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  15. #35
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Oui mais n'etant pas le seul a utiliser cette BdD, je prefere l'automatisation et de + les TCD sont trop complexes à interpréter lors des réunions. Il me faut du Visuel, du tapes à l'œil.

  16. #36
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Merci à toi Promethee25
    Voici le fichier avec les explications.
    J'ai compris le système avec soit Colonne soit Ligne mais dans ce cas c'est les deux car quand on arrive en fin de ligne, il faut repartir sur la ligne du dessous.

  17. #37
    Membre expérimenté
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 667
    Points : 1 419
    Points
    1 419
    Par défaut
    Bonjour,

    En considérant que tu sors bien 10 résultats par ligne, mets ça en D44:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(INDEX(Tab_Suivi_Doc[N° Documents]; PETITE.VALEUR(SI((Tab_Suivi_Doc[Statut]=$D$43) * (Tab_Suivi_Doc[Processus]=$A$2); LIGNE(Tab_Suivi_Doc[N° Documents]) - LIGNE(Tab_Suivi_Doc[[#En-têtes];[N° Documents]]); 10000000); COLONNE()-COLONNE($D$43) + 1 + 10 * (LIGNE() - LIGNE($D$43) - 1))); "")
    Puis tu étires vers la droite et vers le bas.
    Si tu mets 11 résultats par ligne, remplace le 10 par 11.

  18. #38
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 214
    Points : 522
    Points
    522
    Par défaut
    Merci beaucoup, j'ai pu grâce à toi, mettre d'autres formules matricielles dans mon tableau de synthese et j'avance à grands pas.

    Encore et encore merci pour ton aide qui m'est très précieuse.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [MySQL] Update avec resultat d'un select
    Par zorba49 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 22/01/2007, 15h00
  2. Réponses: 2
    Dernier message: 22/12/2006, 12h46
  3. Etat avec resultats en ligne plutot qu'en colonne
    Par petitours dans le forum Access
    Réponses: 3
    Dernier message: 05/04/2006, 18h20
  4. Division de 2 integer avec resultat dans un decimal
    Par Labienus dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/03/2006, 12h46
  5. [Oracle / Sql] clause where avec resultat d'une requete
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 2
    Dernier message: 31/01/2006, 09h37

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