Travailler avec les données d'un tableau dans Excel

Bonjour,

Dans le cadre de mon travail, j'aurais aimé informatiser quelques tableaux ainsi que la possibilité de jouer avec les données qui sont dedans.
Je prends un exemple simple que je pourrai répliquer une fois que j'ai compris:

image

Sur mon tableau:

Colonne 1: section des câbles

Ligne 1, colonne 2 à 8 = Ampérage des compteurs

Ligne 2 à 8, colonne 2 à 8 = Métrés de câble max par rapport à l'ampérage et à la section du câble.

Je voudrais par exemple créer 2 cases à remplir.
Une où l'on indiquerait un ampérage --> Celui-ci sera obligatoirement un ampérage repris dans la ligne 1
Une seconde où l'on indiquerait le métré de câble.

image

Le but étant d'avoir une réponse dans une autre case qui nous donnerait la section de câble à utiliser.
Dans cet exemple:

16 ampères, 40 mètres de distance

--> la section qui doit ressortir est 4x16 car nous avons plus de 39 mètres et selon mon tableau, entre 39 et 63m, nous posons un câble de section 4x16

Donc la réponse doit reprendre la section qui accepte l'ampérage voulu.

J'ai commencé par essayer de me débrouiller avec des RechercheV et H mais il me manque quelque chose pour trouver la solution ^^'

Merci pour votre aide, une indication sur la formule à utiliser serait déjà une belle avancée ^^

Bonjour,

Êtes-vous vraiment sur Excel2001 ou avez-vous une version plus récente ?

Bonjour,

Je suis sur la dernière version d'excel

re,

vous avez ce tableau dans un fichier que vous pouvez télécharger ?

Bonjour à tous,

Parfait, donc sur Excel365 vous pouvez utiliser la formule suivante :

=LET( mytbl;TRANSPOSE(Table1[#All]);
 amp;L2;
 dist;L3;
 fil;EXCLURE(FILTRE(mytbl;PRENDRE(mytbl;;1)=TEXTE(amp;"@"));;1);
 rowI;EQUIVX(dist;fil;1);
 INDEX(Table1[Section];rowI))

Vous avez juste à adapter les 3 premières lignes du LET pour référer à votre tableau et vos 2 cellules. Et la dernière ligne dans index il y a le tableau aussi évidemment.

Ci-joint un petit exemple.

17book1.xlsx (11.81 Ko)

Bonjour,

Déjà un gros merci pour le travail fourni et cette solution :)
C'est vraiment parfait, maintenant je vais essayer de la comprendre pour la réutiliser sur d'autres documents ^^

Bonne journée à vous !

Bonjour,

Je vous en prie. Mettez à jour votre profil si vous avez Office365, ça change beaucoup de choses pour les formules.

Pour comprendre la formule : l'idée est de filtrer votre tableau pour récupérer uniquement la colonne correspondant à l'ampérage indiqué. C'est la partie

FILTRE(mytbl;PRENDRE(mytbl;;1)=TEXTE(amp;"@"))

EXCLURE sert à enlever l'en-tête de colonne.

Ensuite on va chercher dans ce tableau filtré la ligne qui correspond à la Section demandée, sachant que vous voulez la valeur inférieure ou égale. Pour cela on utilise EQUIVX qui est la manière "traditionnelle" pour trouver une valeur dans un tableau.

rowI;EQUIVX(dist;fil;1)

Il ne reste plus qu'à prendre dans la liste des Sections celle qui se trouve à la ligne indiquée. Pour cela, aussi très "Classique", on utilise INDEX

INDEX(Table1[Section];rowI)

Le truc on va dire c'est que votre tableau est mal organisé pour utiliser FILTRE, qui fonctionne en lisant les lignes, hors vous vous voulez filtrer les colonnes. C'est pourquoi au début j'ai transposé votre tableau.

Vous pouvez visualiser les résultats intermédiaires du calcul en écrivant

=LET( mytbl;TRANSPOSE(Table1[#All]);
 amp;L2;
 dist;L3;
 fil;EXCLURE(FILTRE(mytbl;PRENDRE(mytbl;;1)=TEXTE(amp;"@"));;1);
 rowI;EQUIVX(dist;fil;1);
 fil)

Pour voir la colonne filtrée par exemple.

Bonjour à tous !

Une autre approche, sur la base du classeur de saboh12617 (hello !) :

=INDEX(Table1[Section];EQUIVX(L3;RECHERCHEX(L2&"";Table1[[#En-têtes];[16]:[63]];Table1[[16]:[63]]);1))

Ah oui malin @JFL je n'avais pas pensé à utiliser le "renvoi" de XLOOKUP ainsi. Ça donne une formule plus simple pour le coup. Bravo 👏

@Saboh12617, Merci pour le détail, je comprends mieux !

@JFL, Ta solution ressemble un peu plus à ce que j'ai l'habitude d'utiliser pour mes RECHERCHEV. Un grand merci aussi, je pense que je jouerai avec les deux !

J'adore voir à quel point les formules sont un casse tête à plusieurs solutions. Je suis vraiment trop fan de ce programme et plus ça avance, plus j'ai l'impression que tous les autres ne sont que des versions nulles de excel.

Bonjour à tous de nouveau !

Parfait....! Jouez bien !

Je vous remercie de ce retour.

bonjour

petite contribution rustique sur le fichier dispo

=INDEX(Table1[Section];MAX(1;SOMMEPROD(MAX((Table1[[#En-têtes];[16]:[63]]*1=L2)*(Table1[[16]:[63]]<=L3)*(LIGNE(Table1[Section]))))))

ou alors

=INDEX(Table1[Section];EQUIV(MIN(SI(DECALER(Table1[Section];;EQUIV(L2;Table1[[#En-têtes];[16]:[63]]*1;0);)>=L3;DECALER(Table1[Section];;EQUIV(L2;Table1[[#En-têtes];[16]:[63]]*1;0););""));DECALER(Table1[Section];;EQUIV(L2;Table1[[#En-têtes];[16]:[63]]*1;0););0))

cordialement

Rechercher des sujets similaires à "travailler donnees tableau"