XL 2016 Modifier la valeur d'une cellule en fonction de la valeur d'autres cellules

  • Initiateur de la discussion Initiateur de la discussion Tezca
  • 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 !

Tezca

XLDnaute Nouveau
Bonjour,

Je souhaite faire une macro qui puisse modifier la valeur d'une cellule en fonction de la valeur d'autres cellules. Ce que je veux faire est un peu compliqué donc je vais essayer d'être le plus clair possible :

J'entre manuellement des valeurs dans les cellules D2 E2 K2 et L2, (d'abord D2 ou E2 puis K2 et/ou L2), et je voudrais qu'en fonction de ces valeurs celles en Q2 et R2 augmentent de 1 également, ou ne changent pas selon les cas.

Les valeurs de D2 et E2 augmentent de 1 en 1. Celles de K2 et L2 peuvent augmenter de n'importe quelle valeur.

Voici donc ce que je voudrais :

Quand la valeur de D2 ou de E2 augmente de 1, celles de Q2 et R2 augmentent également de 1. Si K2 augmente de moins de 3 (donc de 1 ou 2) Q2 diminue de 1, si K2 augmente de 3 ou plus Q2 ne change pas. Si L2 augmente de n'importe quelle valeur, R2 diminue de 1, si L2 n'augmente pas R2 ne change pas.

Si je saisis une autre cellule que D2 ou E2, puis ensuite K2 et/ou L2, Q2 et R2 ne changent pas.

Ici je ne parle que de la ligne 2 mais je voudrais que la macro s'applique aux lignes 2 à 21.

En espérant avoir été clair, merci à ceux qui pourront m'aider.
 
Voila un fichier avec des cas de figure possibles (colonnes D à I et K et L) et les résultats attendus (colonnes Q et R). Le tableau du dessous est un exemple de suite possible de celui du dessus (Il existe une infinité d'autres possibilités car il s'agit de résultats sportifs, j'ai pris des exemples assez simple pour que ce soit plus facile à comprendre). Il faut lire ligne par ligne (la ligne 18 est la suite de la ligne 1, la ligne 19 la suite de la ligne 2, etc). Les cases vides correspondent à la valeur 0.
 

Pièces jointes

J'ai parlé un peu vite, dans les lignes 1 à 10 il y a tous les cas de figure possibles "de base" :
Ligne 1 : D1 augmente de 1 (donc Q1 et R1 augmentent de 1), K1 augmente de 3 et L1 n'augmente pas → Q1 et R1 ne changent pas.
Ligne 2 : E2 augmente de 1 (donc Q2 et R2 aussi), K2 augmente de 3 et L2 n'augmente pas → Q2 et R2 ne changent pas.
Ligne 3 : D3 augmente de 1 (donc Q3 et R3 aussi), K3 augmente de 3 et L3 augmente de 1 → R3 diminue de 1 (et revient à zéro).
Ligne 4 : E4 augmente de 1 (donc Q4 et R4 aussi), K4 augmente de 3 et L4 augmente de 1 → R4 diminue de 1 (et revient à zéro).
Ligne 5 : D5 augmente de 1 (donc Q5 et R5 aussi), K5 augmente de 2 et L5 n'augmente pas → Q5 diminue de 1 (et revient à zéro).
Et ainsi de suite
 
Bonjour,

Quels sont les cellules ou vous entrez les données manuellement,
est-ce de D à I et de K et L ou seulement de D à I

Autrement y a t'il une règle qui permet de comprendre le fonctionnement d'un tableau?
 
Dernière édition:
J'entre manuellement D a I et K et L.

La règle est justement la macro que je souhaite faire, la voici :

Quand la valeur de D2 ou de E2 augmente de 1, celles de Q2 et R2 augmentent également de 1. Si K2 augmente de moins de 3 (donc de 1 ou 2) Q2 diminue de 1, si K2 augmente de 3 ou plus Q2 ne change pas. Si L2 augmente de n'importe quelle valeur, R2 diminue de 1, si L2 n'augmente pas R2 ne change pas.

Si je saisis une autre cellule que D2 ou E2, puis ensuite K2 et/ou L2, Q2 et R2 ne changent pas.
 
Bonjour,

En effet la 2e solution est mieux. C'est presque parfait, mais il y a quelques petites choses qui ne vont pas...
Quand j'augmente D2 ou E2 de 1, Q1 et R1 n'augmentent pas, or elles devraient aussi augmenter de 1.
Quand je mets toutes les cellules à 0, il y a des 1 dans la colonne R, normalement elle devrait aussi être à 0.
Quand par exemple je mets un 1 en D1 puis un 3 en K1, il y a bien un 1 en R1 et en Q1. Jusque la c'est bon. Mais quand je mets un 1 en E1 puis que je raugmente K1 de 3 (ce qui fait donc 6), il y a un 2 en Q1 (ce qui est juste) et il devrait y avoir aussi un 2 en R1, mais elle reste à 1.

A part ça, tout est ok. En réalité il n'y a que la colonne R qui pose problème. Vos formules n'obéissent pas parfaitement à la règle mais si ça peut aboutir au résultat que je veux ça me va. Pour l'instant ce n'est pas tout à fait le cas. Si vous n'arrivez pas à obtenir ce que je veux, ne vous en faites pas je me dérouillerai.

Merci beaucoup! 🙂 🙂
 
Oui c'est bien ça! De D2 à H21 (dans mon vrai tableau pas dans l'exemple), les cellules augmentent de 1 en 1. Au début elles sont toutes à 0, puis 1 puis 2 puis 3 etc. Je n'ai qu'un seul tableau, je ne fais pas de nouveau tableau à chaque augmentation.
Dans mon exemple j'avais fait deux tableaux pour que vous puissiez voir l'évolution, mais je fais tout dans un seul tableau.
 
Bonjour,

Voir si les modifs sont bonnes
Les colonnes AD à AI et les lignes 1 à 16 sont masquées.
Pour les colonnes masquées, c'est pour une facilité de rédactions des formules
Pour les lignes masquées, c'est pour garder en mémoire le tableau avant modification.
Le bouton "Nouvelle saisie" permet de copier le tableau avant modification de celui-ci dans le tableau masqué.
Suis-je assez clair.
 

Pièces jointes

Bonjour,

On y est presque mais ce n'est pas encore tout à fait ça... Par exemple, quand je mets un 1 en D18 puis un 2 en K18 et un 1 en L18, Q18 et R18 sont à zéro. Jusque la c'est bon. Ensuite si je mets un 1 en E18 et que j'augmente K18 de 3 (ce qui fait 5) et que je ne touche pas à L18, il y a un 2 en Q18 et 0 en R18, alors que ça devrait être 1 et 1.

Autre exemple, quand je mets un 1 en D18, puis 3 en K18 et rien en L18, Q18 et R18 sont à 1. Ca c'est bon. Mais si je renouvelle l'opération (1 en E18, encore 3 en K18 (donc 6) et rien en L18), Q18 est à 2 et R18 à 1 alors que ça devrait être 2 également.

J'avoue ne pas très bien avoir compris l'utilité des lignes masquées et du bouton nouvelle saisie (pour les colonnes c'est ok).

Je sais que ce que je demande est assez compliqué, si ça vous parait trop difficile à faire je me débrouillerai ne vous en faites pas.

Merci beaucoup.
 
Bonjour,

Bonjour,

On y est presque mais ce n'est pas encore tout à fait ça... Par exemple, quand je mets un 1 en D18 puis un 2 en K18 et un 1 en L18, Q18 et R18 sont à zéro. Jusque la c'est bon. Ensuite si je mets un 1 en E18 et que j'augmente K18 de 3 (ce qui fait 5) et que je ne touche pas à L18, il y a un 2 en Q18 et 0 en R18, alors que ça devrait être 1 et 1.

Il faut bien comprendre que le tableur EXCEL n'est pas votre cerveau.

Vous dite : quand je mets un 1 en D18 puis un 2 en K18 et un 1 en L18, Q18 et R18 sont à zéro. Jusque la c'est bon , Normal vous lui demander juste de répondre à un test avec des données uniques.

Puis : Ensuite
Et c'est là qu'il faut dire à EXCEL que vous voulez ajouter des valeurs et cela par rapport aux valeurs déjà existantes. D'ou l'utilité des lignes masquées et du bouton "NOUVELLE SAISIE"
Si vous ne dite pas a EXCEL enregistrer les anciennes valeurs comment voulez vous qu'il puisse savoir que vous avez ajouter des 1, des 3 ou d'autres valeurs. Il lui faut bien un point de comparaison.

Donc après avoir cliqué sur le bouton "NOUVELLE SAISIE" et seulement après cela vous pourrez modifier :
un 1 en E18 et que j'augmente K18 de 3 (ce qui fait 5) et que je ne touche pas à L18,

Oh miracle on a bien : 1 et 1.

Il faut faut absolument rester cartésien et ne jamais oublier d'étape.

Autre petite précision, il n'est pas possible de revenir en arrière, donc vraiment faire attention lorsque l'on veut cliquer sur le bouton.
 
- 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

Discussions similaires

Réponses
4
Affichages
326
Réponses
9
Affichages
491
Réponses
7
Affichages
533
Retour