Renvoi données en fonction résultat cellule

  • Initiateur de la discussion Initiateur de la discussion mmatty
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

mmatty

Guest
Bonjour à toutes et à tous,

Nouveau sur ce forum et pas très à l'aise dans les fonctions avancées d'Excel je lance un petit SOS pour renvoyer une liste de données en fonction du résultat aléatoire d'une cellule et ainsi pouvoir automatiquement faire des graphiques en fonction de cette plage de données
La fonction filtre ne me convient pas car elle oblige à une selection manuelle.
Voici un exemple dans le fichier joint plutôt qu'une longue explication confuse.

Merci par avance.
 

Pièces jointes

Re : Renvoi données en fonction résultat cellule

Bonjour mmatty et bienvenue,

En pièce jointe, un début de solution (si j'ai bien compris!?)
Début de solution, parce qu'on peut "compléter" la formule pour masquer les messages d'erreurs.

Si ce genre de formule matricielle te laisse un peu "perplexe", on peut faire "plus simple" à condition que tu ne soies pas opposé à la création d'une colonne supplémentaire dans ta feuille "base de données"

... Dis-nous ..
 

Pièces jointes

Re : Renvoi données en fonction résultat cellule

Bonjour Modeste et merci bien pour cette réponse et votre rapidité

Ce début de solution me convient bien. Cependant l'objectif est de pouvoir automatiser la production d'un graphique or la fonction index renvoyant des valeurs #nombre! cela pollue le graphique. Est-il possible de neutraliser ces valeurs #nombre! par l'ajout d'une formule esterreur ? Sur ce graphique je voudrais également que les valeurs du salarié sélectionné en C2 soit affichées en rouge mais je bloque car leur position dans la zone de données est aléatoire.
Je suis aussi preneur d'une solution plus simple car effectivement je peux ajouter des colonnes dans ma base de données.

Merci pour votre aide.
 

Pièces jointes

Re : Renvoi données en fonction résultat cellule

Bonjout mmatty et bienvenue sur le Forum 🙂
Modeste,

Voir en p.j. une solution adaptée TCD et Graph en points.

J'ai laissé la source du fil pour le problème TCD_Graph en points, au cas où.

Le TCD a l'avantage de s'actualiser au fur et à mesure que ta base de données se remplie; pour ce faire, clic droit sur le tableau; Actualiser les données.

Tu choisis Commercial ou Production, selon.

Bonne journée à vous 2!
Au Forum,

Edit.:BonjourJBOBO, on s'est croisé😱
 

Pièces jointes

Re : Renvoi données en fonction résultat cellule

Merci bien JBOBO ainsi que genevieve78
Est-il possible dans le graphique que le point du salarié C ressorte également en rouge pour le différencier des autres données du nuage de points.
Je n'arrive pas à mettre en application votre formule de calcul dans mon fichier réel. Pouvez-vous m'expliquer la syntaxe de cette formule car je n'arrive pas à la faire fonctionner si j'ajoute des données au-delà de la ligne 30 dans mon onglet "base de données".
J'ai bien changé les valeurs de ce qui me semble être la plage de sélection mais rien ne marche.
Décidement cela dépasse mes compétences excel !
 
Re : Renvoi données en fonction résultat cellule

Re mmatty
Le Forum,

Ce serait bien de savoir de quel fichier on parle ici 😉

Mon fichier a la solution pour ton problème avec la feuil "base de données". Si tu écris en dessous, automatiquement ta ligne est insérée dans le tableau. Il est important que le nom "bdd" soit lié à cette plage dynamique par contre pour que les formules avec "bdd" intègrent les nouvelles données.

Mon TCD est imparfait; la zone source du graphique n'est pas dynamique donc lorsque le TCD change, il faut s'assurer que la zone de sélection englobe le tout (tu vois un cadrage bleu et mauve lorsque tu cliques sur le graphique). Petit problème généré à cause de la solution de contournement pour le graph de points.

JBOBO a une belle solution; pour ma part, j'ai du enlever la partie de la formule avant INDEX et retirer les guillemets à la fin pour que ça fonctionne.
Code:
=INDEX('base de donnée'!C$2:C$30;PETITE.VALEUR(SI('base de donnée'!$B$2:$B$30=$C$3;LIGNE($B$2:$B$30)-1);LIGNES(1:1)))

Tu pourrais créer dans son fichier une liste pour rendre la plage de ta base de données dynamique et tes nouvelles données s'ajouteraient au fur et à mesure.

Tu sélectionnes ton tableau dans "base de données"; clic droit;Créer une liste;ensuite tu coches 'Ma liste comporte des entêtes'.

Dsl mais je n'ai pas de solutions pour le point C en rouge 🙁
 
Re : Renvoi données en fonction résultat cellule

Bonsoir le fil,

Merci à JBOBO pour la prise de relais et l'adaptation,
Merci aussi à genevieve78 pour ce fil où on retrouvait CB60, Celeda et Dan,

@mmatty: peux-tu préciser de quelle formule tu parles? Celle de JBOBO? Tu es certain que tu ne préfères pas la "version simple" que j'évoquais précédemment?
En attendant ta réponse, je la joins au présent message: même si elle ne te convient pas en définitive, elle devrait t'aider à comprendre l'autre (mais n'hésite pas à nous dire si tu "rames")
Regarde d'abord la colonne D de la feuille "base de données", puis les formules en plage verte dans la feuille "fiche salarié".

Edit: Désolé pour la bousculade, genevieve78 😱
 

Pièces jointes

Re : Renvoi données en fonction résultat cellule

@Modeste, Aucune bousculade prise en compte 🙂

Je crois que c'est le genre de projet qui se serait mérité une adaptation VBA car il reste toujours les lignes flottantes qui, dans tous les cas de solutions apportées, réduisent la lisibilité du graph.

Si mmatty doit adapter nos solutions à un fichier de 1000 lignes, par exemple, ce sera encore pire car d'un choix à l'autre, la plage de données source du graphique bouge; il faudra donc la définir au maximum et endurer un graphique avec plusieurs points morts dans les cas de figure où il y a moins de résultats ou encore, ajuster à chaque fois cette plage.

Si mmatty pouvais envisager un autre graphique que celui des nuages de points, l'emploi du TCD éliminerais les résultats nuls dans le graphique.

Néanmoins, un essai avec un autre graphique, en toute modestie (haha).

Ceci dit, si les modifications sur les points et lignes pouvaient rester(!), ce serait bien: en mettant les lignes blanches, on ne voit plus les points et alors, il devient semblables au graphique nuage de points.
 

Pièces jointes

Re : Renvoi données en fonction résultat cellule

Bonjour à tous,

Une solution avec colonne supplementaire, et sans matricielle, plus une serie supplementaire dans le graphe pour faire ressortir le salarié. A voir si ça peut convenir.
 

Pièces jointes

Re : Renvoi données en fonction résultat cellule

Bonjour à tous,

Merci bien pour toutes vos réponses et votre préciseuce assistance.

Pour répondre précisement à vos questions (dsl je ne suis pas un habitué des forums), la solution de JBOBO sur la base du fichier de Modeste me convient bien, cf fichier joint.

Sur cette base, mon soucis désormais est simplement de pouvoir étendre la formule de calcul si je veux ajouter des données au-delà de la ligne 30 dans l'onglet "base de donnée" puisque la formule était =SIERREUR(INDEX('base de donnée'!A$2:A$30;PETITE.VALEUR(SI('base de donnée'!$B$2:$B$30=$C$3;LIGNE($B$2:$B$30)-1);LIGNES($1:13)));"").

J'ai ajouté des valeurs à partir de la ligne 31 dans l'onglet base de donnée (cellules jaune) mais les formules de calcul ne fonctionnent pas à partir de la ligne 26 dans l'onglet fiche salarié (cellule bleue). J'ai tenté d'adapter la formule en b26 mais sans succès. J'ai aussi essayé en définissant un nom à ma zone de données sans plus.

Ensuite dans le graph je n'arrive toujours pas à mettre en surbrillance, rouge ou autre les données correspondant au salarié selectionné.

Merci vraiment pour vos bonnes idées.
 

Pièces jointes

Re : Renvoi données en fonction résultat cellule

Bonjour tout le monde,

@mmatty: les modifications que tu avais apportées à la formule étaient correctes, MAIS il me semble que tu as ajouté les accolades "à la main" ... chose que tu ne peux absolument pas faire (en tout cas pas si tu veux qu'Excel comprenne qu'il s'agit d'une formule matricielle!)
Lorsque tu crées (ou chaque fois que tu modifies) une formule de ce type, ton curseur étant toujours positionné dans la cellule ou la barre de formule, tu enfonces les touches Ctrl et Shift, puis, en les laissant enfoncées, tu frappes une fois sur la touche Enter.

En combinant les idées émises par genenieve78 avec le reste, tu devrais arriver à résoudre ton souci d'englober les données qui s'ajoutent: il me semble bien qu'elle avait proposé de créer une tableau avec une partie des données. Jette un oeil à ta feuille "base de données": ce sont ces données-là qui sont maintenant sous forme de tableau. Les formules dans l'autre feuille s'en trouvent un peu modifiées (au niveau de la syntaxe, tu trouveras des 'Tableau1[Service]' en lieu et place de références sous la forme '$B$2:$B$35')
Tu devrais voir qu'avec ce système, chaque nom que tu ajoutes sous ta liste est automatiqument "traité" par les formules de la fiche salarié.
Dans le dernier fichier que tu as déposé, il y avait déjà une plage nommée "Liste" qui est une plage "dynamique". Tu aurais pu t'inspirer de ce système également, pour créer une plage "bdd" dynamique.

Pour ta question (récurrente) sur la mise en couleur d'un point particulier dans le graphique, pas de solution à proposer, à ce stade. Je regarderai quand j'aurai un peu de temps, à moins que quelqu'un ait une idée.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

F
Réponses
1
Affichages
1 K
X
Réponses
4
Affichages
2 K
xoxopeter
X
Retour