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 :

Utilisation de tableaux


Sujet :

Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 463
    Points : 149
    Points
    149
    Par défaut Utilisation de tableaux
    Bonjour à tous
    Dans une feuille excel (fiche)je où j'ai les données R1C1 (A1) et R2C1 (B1).

    Si j'ai 30C en A1 et 9 en B1 alors je désirerais avoir 579,78 en fiche!R3C1 (C1)

    Dois-je structurer les données ci_dessous en tableau sachant qu'il y a une centaine de colonnes ?
    Dois uniformiser la colonne C1 (de 1 à 33) sachant que si fiche!B1 n'existe pas alors Fiche!C1 doit prendre la valeur 385,28 ?

    Merci d'avance

    Habiler

    A 30c 34b 35d
    B
    0 33,51 0 23,00 0 5.664,05
    1 19,53 1 51,31 1 13,29
    2 119,83 2 111,31 2 129,66
    3 139,28 3 164,06 3 185,07
    4 141,78 4 379,31 5 314,20
    5 312,03 5 631,31 7 356,79
    7 385,28 6 995,56 9 513,46
    9 579,78 7 999,31 11 578,16
    11 1.090,03 9 1.495,31 13 1.385,94
    13 1.289,49 11 1.569,81 15 1.649,42
    15 1.741,53 13 1.737,31 17 3.455,41
    17 3.451,78 15 3.081,31 19 3.688,33
    19 3.885,03 17 3.393,31 21 3.781,16
    21 5.067,28 19 3.565,31 23 3.803,91
    23 5.393,03 21 5.807,31 25 5.935,42
    25 7.948,17 23 6.909,31 27 6.083,55
    25 9.375,57 29 6.517,68
    27 9.646,94 31 6.951,81

  2. #2
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 482
    Points : 193
    Points
    193
    Par défaut
    Bonjour,

    Je suis désolé mais j'ai du mal à comprendre ta demande.
    En + de tes données, je pense qu'il serait utile d'avoir une copie d'écran.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 463
    Points : 149
    Points
    149
    Par défaut
    Voici le fichier


    Nom : Annotation 2020-06-01 140303.png
Affichages : 171
Taille : 57,0 Ko

  4. #4
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 482
    Points : 193
    Points
    193
    Par défaut
    C'est mieux mais avec les en-têtes de ligne et de colonne, ça permettrait de visualiser les cellules concernées.
    ,
    Citation Envoyé par HABILER Voir le message
    Si j'ai 30C en A1 et 9 en B1 alors je désirerais avoir 579,78 en fiche!R3C1 (C1)

    Du coup, si je vois 30C, je ne vois pas le 9...
    Et comment trouves-tu 579,78 ?
    Et fiche!R3C1 (C1) ????

    Ça n'est pas encore très clair.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 463
    Points : 149
    Points
    149
    Par défaut
    Voici le fichier montant ou se trouve la donnée à récupérer.


    Dans une feuille excel (fiche)j j'ai les critères nécessaires à la recherche.

    Si j'ai 30C en fiche!A1 et 10 en fiche!B1 alors je désirerais avoir 579,78 en fiche!C1.
    Si 10 n'existe pas alors il faut prendre la valeur de 10 - 1.

    Je trouve 30c en rangée R1 de la feuille montant et 10 dans la colonne A en fonction de la valeur de A.

    Donc si fiche!A1 = 34b alors les valeurs se trouvent en colonnes C et D


    Dois-je structurer les données ci_dessous en tableau sachant qu'il y a une centaine de colonnes ?
    Dois uniformiser la colonne C1 (de 1 à 33) sachant que si fiche!B1 n'existe pas alors Fiche!C1 doit prendre la valeur 385,28 ?

    j'avais pensé a ajouter une colonne reprenant les valeurs de la & et des différentes colonnes pour fusionner les deux critères en un seul. Mais j'ai des doute quant à la lisibilité du fichier.

    recherche sur 1 critère a savoir 30C9 au lieu de deux 30C et 9.

    Nom : Annotation 2020-06-01 140303.png
Affichages : 191
Taille : 73,4 Ko

  6. #6
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 409
    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 409
    Points : 16 250
    Points
    16 250
    Par défaut
    Bonjour

    Si j'ai bien compris, supprime la ligne blanche sou les titres en bleu, met chaque colonne sous forme de tableau et nommes les respectivement T_30c, T_34b, etc au lieu des noms automatiques type Tableau1

    Pour ta recherche en C1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(indirect("T_"&A1);B1;1)
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  7. #7
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Avec les conseils de disposition et d'appel de tableaux de 78chris, je modifierais la formule en C1 en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(INDIRECT("T_"&A1);EQUIV(B1;DECALER(INDIRECT("T_"&A1);;-1);1))
    Cordialement
    Claude

  8. #8
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 409
    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 409
    Points : 16 250
    Points
    16 250
    Par défaut
    Bonsoir

    Bine vu : j'avais cru voir des chiffres étaient en suite continue
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 463
    Points : 149
    Points
    149
    Par défaut
    Merci pour votre réponse.

    J'ai essayé de manipuler la formule sous toutes les coutures (sauf la bonne) et j'ai N/A comme résultat.
    j'ai toujours 34b en a1 et 19 en B1

    J'ai décortiqué la formule pour la comprendre et jusque celle qui suit cela fonctionne plus ou moins mais après cela foire:

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(INDIRECT("T_"&A1;C35);;1;5;2)

    73,37 0
    77,6 1
    150,66 2
    246,4 4
    704,1 5

    au lieu de

    19 5.140,34
    21 5.345,10
    23 5.561,10
    25 5.702,51
    27 6.600,66


    Et si B1 contenait 28 alors le résultat devrait être :

    27 6.600,66
    29 6.745,50
    31 7.176,50

  10. #10
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 409
    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 409
    Points : 16 250
    Points
    16 250
    Par défaut
    RE

    As-tu essayé la formule de Papouclo ?

    Sinon poste un fichier plutôt qu'une image
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 463
    Points : 149
    Points
    149
    Par défaut
    Oui et ensuite j'ai decortique sa formule fonction par fonction.

    Mais suis bloqué.

    J'ai joint un fichier tres simplifié pour ne pas vous embrouiller.


    Essai.xlsx

  12. #12
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    En lisant 78chris, j'avais compris que les noms de tableau T_30c , T_34b ... désignaient des plages uni-colonne or, dans le fichier, ces mêmes noms désignent des plages de deux colonnes.
    Le problème devient plus simple à condition de corriger les noms de tableaux 35d et 20h en T_35d et T_20h.
    La formule à écrire est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(B1;INDIRECT("T_"&A1);2;VRAI)
    Cordialement
    Claude

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 463
    Points : 149
    Points
    149
    Par défaut
    Merci pour votre réponse.

    Mais je voudrais également récupérer les montants qui suivent (5)

    J'ai essayé la formule qui suit mais apparemment il y a un problème. Mais ne trouve pas pour l'instant

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    = DECALER(RECHERCHEV(B1;INDIRECT("T_"&A1);2;VRAI);;;5;2)

  14. #14
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Si la version à disposition est la version XL365 mise à jour où la fonction FILTRE est définie, on peut écrire la formule suivante en C1 (avec les cellules de la colonne C libres en dessous) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =FILTRE(INDIRECT("T_"&A1&"["&A1&"]");INDIRECT("T_"&A1&"[colonne1]")>=RECHERCHEV(B1;INDIRECT("T_"&A1);1;VRAI))
    Cordialement
    Claude

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 463
    Points : 149
    Points
    149
    Par défaut
    Bonjour,

    Merci pour votre réponse. j'ai voulu l'utiliser pour obtenir le max de la colonne 34B de la table T_34B ("T_"&B5&")

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =MIN(INDIRECT("T_"&B5&""))

    Mais j'ai le resultat de la colonne1 (0).

    J'ai essayé avec la fonction decaler mais cela ne fonctionnait pas ou je l'utilisais mal

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 463
    Points : 149
    Points
    149
    Par défaut
    re bonjour
    Je crois avoir trouvé :

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =MIN(INDIRECT("T_"&B5&"["&B5&"]"))

    Du moins cela fonctionne. J'ai l'impression qu'il y avait plus facile mais bon

    Merci à toutes et tous

    Habiler

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 463
    Points : 149
    Points
    149
    Par défaut
    Bonjour à tous,

    Lors de la discussion initiale la solution à mon problème avait été résolu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =FILTER(INDIRECT("T_"&B5&""),INDIRECT("T_"&B5&"[aNC]")>=VLOOKUP(C35,INDIRECT("T_"&B5),1,TRUE))
    Cela fonctionnait impeccablement.
    Entretemps j'ai changé de pc (et de langue) et la formule ne fonctionne plus apparemment parce que la Fonction FILTRE n'est pas reconnue et me donne ce rendu bizarre au niveau de la formule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =_xlfn._xlws.FILTER(INDIRECT("T_"&B5&""),INDIRECT("T_"&B5&"[aNC]")>=VLOOKUP(C35,INDIRECT("T_"&B5),1,TRUE))
    Pourriez-vous m'eclaircir sur ce point et m'indiquer si possible le moyen de remedier à cet inconvénient.

    Merci d'avance

    Habiler

  18. #18
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 409
    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 409
    Points : 16 250
    Points
    16 250
    Par défaut
    Bonjour

    Tu as surtout changé de version pour une plus ancienne ou FILTRE n'existait pas...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 463
    Points : 149
    Points
    149
    Par défaut
    C'est cela.

    Par quelle fonction pourrais je remplacer filtre. J'ai essayé Index mais m'emmele les pinceaux. jusque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VLOOKUP(C35,INDIRECT("T_"&B5),2,TRUE)
    Ca va.

    Mais aprèslorsque j'ajoute la fonction index() cela foire

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/12/2007, 13h46
  2. Réponses: 2
    Dernier message: 18/10/2006, 11h36
  3. Réponses: 2
    Dernier message: 09/06/2006, 13h33
  4. Réponses: 4
    Dernier message: 10/05/2006, 10h36
  5. utilisation de tableaux : code correct ?
    Par kuzloka dans le forum C++
    Réponses: 5
    Dernier message: 25/12/2005, 20h16

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