Excel formule variables
Mr.Buzz
Messages postés
7
Statut
Membre
-
Raymond PENTIER Messages postés 71825 Statut Contributeur -
Raymond PENTIER Messages postés 71825 Statut Contributeur -
Bonjour,
Je cherche à faire fonctionner une formule avec plusieurs variables (A, B, C) qui varieront selon le choix que je fais dans une liste déroulante (choix_1, choix_2 etc ayant chacun des valeurs définies dans un tableau des variables A, B et C). J'espère être assez clair.
Je ne vois absolument pas comment m'y prendre. Des conseils ?
Merci d'avance pour vos réponses
Je cherche à faire fonctionner une formule avec plusieurs variables (A, B, C) qui varieront selon le choix que je fais dans une liste déroulante (choix_1, choix_2 etc ayant chacun des valeurs définies dans un tableau des variables A, B et C). J'espère être assez clair.
Je ne vois absolument pas comment m'y prendre. Des conseils ?
Merci d'avance pour vos réponses
A voir également:
- Excel formule variables
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Liste déroulante excel - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule somme excel colonne - Guide
8 réponses
Bonjour.
C'est très simple : Tu fais un tableau de correspondance entre lettres et nombres, puis tu utilises la liste déroulante de cellule, d'une part, et la fonction RECHERCHEV, d'autre part.
C'est très simple : Tu fais un tableau de correspondance entre lettres et nombres, puis tu utilises la liste déroulante de cellule, d'une part, et la fonction RECHERCHEV, d'autre part.
Je pense ne pas avoir été assez clair. Je vais donc vous donner un exemple concret.
Je suis un joueur de figurines de l'univers Warhammer 40k, jeu qui obéit à des règles. J'aimerais faire une feuille de calcul excel pour être capable de déterminer combien de touches, blessures et morts en moyenne un tel type d'arme peut occasionner à un tel autre type d'unité.
Je pourrai tout simplement rentrer à la main les 6, 8 variables nécessaires mais c'est un peu rébarbatif et j'aimerais simplifier la chose. Pour cela je souhaiterais que la formule, me permettant de calculer les touches/blessures/morts moyen, soit alimentée par 2 tableaux de données (Armes avec comme variables Attacks/Strengh/PA et Unités avec comme variables Toughness/Wounds/Sv). Il n'y aurait alors qu'à sélectionner via un menu déroulant l'arme et via un autre menu déroulant l'unité puis rentrer quelques variables optionnelles (présence de couvert ou non, nombre de tirs par exemple) pour avoir à l'affichage le nombre de tirs, touches, blessures, morts moyen.
La formule n'est pas compliquée. Je ne sais juste pas comment relier les listes déroulantes à leur tableau de données respectif et la formule.
J'espère pouvoir me passer d'une macro que je serai bien incapable de programmer.
Merci pour votre patience.
Je suis un joueur de figurines de l'univers Warhammer 40k, jeu qui obéit à des règles. J'aimerais faire une feuille de calcul excel pour être capable de déterminer combien de touches, blessures et morts en moyenne un tel type d'arme peut occasionner à un tel autre type d'unité.
Je pourrai tout simplement rentrer à la main les 6, 8 variables nécessaires mais c'est un peu rébarbatif et j'aimerais simplifier la chose. Pour cela je souhaiterais que la formule, me permettant de calculer les touches/blessures/morts moyen, soit alimentée par 2 tableaux de données (Armes avec comme variables Attacks/Strengh/PA et Unités avec comme variables Toughness/Wounds/Sv). Il n'y aurait alors qu'à sélectionner via un menu déroulant l'arme et via un autre menu déroulant l'unité puis rentrer quelques variables optionnelles (présence de couvert ou non, nombre de tirs par exemple) pour avoir à l'affichage le nombre de tirs, touches, blessures, morts moyen.
La formule n'est pas compliquée. Je ne sais juste pas comment relier les listes déroulantes à leur tableau de données respectif et la formule.
J'espère pouvoir me passer d'une macro que je serai bien incapable de programmer.
Merci pour votre patience.
cela reste un peu flou, il serait sans doute utile que tu partages ton fichier, ou que tu fasses une description plus concrète. de ce que tu veux vois où dans ton classeur. pourquoi ne partages-tu pas la formule?
de ce que je comprends, pourquoi ne pas utiliser des listes déroulantes pour peupler des cellules, et ensuite utiliser ces cellules dans la formule?
de ce que je comprends, pourquoi ne pas utiliser des listes déroulantes pour peupler des cellules, et ensuite utiliser ces cellules dans la formule?
Je ne vois pas bien ce que tu veux dire par "peupler des cellules".
La formule n'est pas vraiment le problème même si elle n'est pas aussi simple que je le pensais.
Je vous partage ce que j'ai fait pour l'instant qui est assez basique (tableaux de données + listes déroulantes). J'ai mis pour l'instant une addition des variables. Je n'ai pas eu le temps de me pencher plus que ça sur la formule que j'utiliserai in fine mais ça devrait suffire pour que vous compreniez ma démarche. Grosso modo que le résultat de mon addition change lorsque je change ma sélection dans les listes déroulantes.
https://www.cjoint.com/c/JJxqRYstjmn
La formule n'est pas vraiment le problème même si elle n'est pas aussi simple que je le pensais.
Je vous partage ce que j'ai fait pour l'instant qui est assez basique (tableaux de données + listes déroulantes). J'ai mis pour l'instant une addition des variables. Je n'ai pas eu le temps de me pencher plus que ça sur la formule que j'utiliserai in fine mais ça devrait suffire pour que vous compreniez ma démarche. Grosso modo que le résultat de mon addition change lorsque je change ma sélection dans les listes déroulantes.
https://www.cjoint.com/c/JJxqRYstjmn
en fait, tu n'as pas expliqué ce que tu voulais obtenir. pourquoi ne donnes-tu pas quelques exemples, montrant les résultats attendus quand tu changes les choix dans les menus déroulants?
ta formule est
veux-tu aller chercher dans Armes et dans Unités des valeurs sur les lignes qui correspondent à ce que tu as en B2 et C2 dans l'onglet Interface?
connais-tu la fonction RECHERCHEV? https://support.microsoft.com/fr-fr/office/recherchev-recherchev-fonction-0bbc8083-26fe-4963-8ab8-93a18ad188a1
ce qui est précisément la solution propose par Raymond le 21 oct. 2020 à 20:20. as-tu essayé de la comprendre?
ta formule est
=Armes!C2+Armes!D2+Armes!E2+Armes!F2+Unités!B2+Unités!C2+Unités!D2
veux-tu aller chercher dans Armes et dans Unités des valeurs sur les lignes qui correspondent à ce que tu as en B2 et C2 dans l'onglet Interface?
connais-tu la fonction RECHERCHEV? https://support.microsoft.com/fr-fr/office/recherchev-recherchev-fonction-0bbc8083-26fe-4963-8ab8-93a18ad188a1
ce qui est précisément la solution propose par Raymond le 21 oct. 2020 à 20:20. as-tu essayé de la comprendre?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est tellement évident pour moi que j'ai du mal à expliquer du coup mais je vais essayer d'être plus clair.
Chaque armes se définit par 5 variables (Range, Attack, Strengh, AP, Damage). Toutes les armes ont des profils différents. Lorsque je change dans la liste déroulante le type d'arme, je m'attends à ce que les variables cités ci dessus changent de valeur aussi dans la formule.
Par exemple, si l'arme 1 a pour pour valeurs (1, 1, 2, 1, 1), l'addition (ma formule basique temporaire) fera 6. Si je choisis l'arme 2 qui a pour valeurs (3, 3, 3, 3, 5), le résultat sera 17 et ainsi de suite.
Le problème est que je ne vois pas comment faire en sorte que le choix d'arme dans la liste déroulante impacte la valeur des variables dans la formule.
Je ne connaissais pas la fonction RECHERCHEV avant que Raymond n'en parle mais je n'ai pas bien compris en quoi ça pouvait m'être utile.
Chaque armes se définit par 5 variables (Range, Attack, Strengh, AP, Damage). Toutes les armes ont des profils différents. Lorsque je change dans la liste déroulante le type d'arme, je m'attends à ce que les variables cités ci dessus changent de valeur aussi dans la formule.
Par exemple, si l'arme 1 a pour pour valeurs (1, 1, 2, 1, 1), l'addition (ma formule basique temporaire) fera 6. Si je choisis l'arme 2 qui a pour valeurs (3, 3, 3, 3, 5), le résultat sera 17 et ainsi de suite.
Le problème est que je ne vois pas comment faire en sorte que le choix d'arme dans la liste déroulante impacte la valeur des variables dans la formule.
Je ne connaissais pas la fonction RECHERCHEV avant que Raymond n'en parle mais je n'ai pas bien compris en quoi ça pouvait m'être utile.
tu continues à donner des exemples qui ne se trouvent pas dans ton fichier, je suppose.
tu n'as pas répondu ) ma question: veux-tu aller chercher dans Armes et dans Unités des valeurs sur les lignes qui correspondent à ce que tu as en B2 et C2 dans l'onglet Interface?
je te conseille de prendre un peu de temps et de faire quelques exercices avec RECHERCHEV.
tu n'as pas répondu ) ma question: veux-tu aller chercher dans Armes et dans Unités des valeurs sur les lignes qui correspondent à ce que tu as en B2 et C2 dans l'onglet Interface?
je te conseille de prendre un peu de temps et de faire quelques exercices avec RECHERCHEV.
Bonjour Mr.Buzz.
Sans avoir ton fichier sous les yeux, il était impossible de comprendre la question que tu nous soumettais ...
En fait, la solution vient de l'utilisation de la fonction INDIRECT !
Sans avoir ton fichier sous les yeux, il était impossible de comprendre la question que tu nous soumettais ...
En fait, la solution vient de l'utilisation de la fonction INDIRECT !
Eh bien, Mr.Buzz, j'ai enfin une solution à te proposer.
Elle nécessite d'aménager ton fichier, car il faut commencer par définir des noms pour 38 plages de cellules dans les feuilles Armes et Unités.
Or ces noms ne doivent pas contenir de caractères réservés comme
Je t'ai mis la liste des noms définis dans Interface.
Ce (gros) travail étant accompli, il ne reste plus qu'à saisir en C6 la formule :
sachant que la formule
https://www.cjoint.com/c/JJyrjUmjCdN
J'espère que cette procédure te satisfera.
Elle nécessite d'aménager ton fichier, car il faut commencer par définir des noms pour 38 plages de cellules dans les feuilles Armes et Unités.
Or ces noms ne doivent pas contenir de caractères réservés comme
* ? /mais pas non plus d'espace ou de tiret, ce qui entraine l'insertion d'une colonne après la colonne A, avec une formule qui les remplace par un
_(tiret underscore) ; la même formule sera utilisée dans la feuille Interface en B3 et C3.
Je t'ai mis la liste des noms définis dans Interface.
Ce (gros) travail étant accompli, il ne reste plus qu'à saisir en C6 la formule :
=INDIRECT(B3) Attack+INDIRECT(B3) Strengh+INDIRECT(B3) AP+INDIRECT(B3) Damage
+INDIRECT(C3) Toughness+INDIRECT(C3) Wounds+INDIRECT(C3) Sv
sachant que la formule
=Flamer Attackaffiche le contenu de la cellule à l'intersection de ces deux plages de cellules, formule presqu'inconnue des utilisateurs d'Excel, malgré sa simplicité et son efficacité !
https://www.cjoint.com/c/JJyrjUmjCdN
J'espère que cette procédure te satisfera.
En effet, mon ami yg_be, cela fonctionne parfaitement.
La fonction RECHERCHEV marche sans problème avec des tirets et des espaces dans les données ...
Par conséquent je présente mes excuses à Mr.Buzz et à tous ceux qui se sont intéressés à cette discussion, et que j'ai entraînés dans des complications inutiles.
En conclusion, sans modifier le fichier initial de Mr.Buzz, la formule donnée par yg_be donnera le résultat voulu :
=RECHERCHEV(B2;Armes!A2:G26;3)+RECHERCHEV(B2;Armes!A2:G26;4)+RECHERCHEV(B2;Armes!A2:G26;5)+RECHERCHEV(B2;Armes!A2:G26;6)+RECHERCHEV(C2;Unités!A2:E6;2)+RECHERCHEV(C2;Unités!A2:E6;3)+RECHERCHEV(C2;Unités!A2:E6;4)
Très cordialement.
La fonction RECHERCHEV marche sans problème avec des tirets et des espaces dans les données ...
Par conséquent je présente mes excuses à Mr.Buzz et à tous ceux qui se sont intéressés à cette discussion, et que j'ai entraînés dans des complications inutiles.
En conclusion, sans modifier le fichier initial de Mr.Buzz, la formule donnée par yg_be donnera le résultat voulu :
=RECHERCHEV(B2;Armes!A2:G26;3)+RECHERCHEV(B2;Armes!A2:G26;4)+RECHERCHEV(B2;Armes!A2:G26;5)+RECHERCHEV(B2;Armes!A2:G26;6)+RECHERCHEV(C2;Unités!A2:E6;2)+RECHERCHEV(C2;Unités!A2:E6;3)+RECHERCHEV(C2;Unités!A2:E6;4)
Très cordialement.