Fluctuation d'un % suivant annotation

ordiba

XLDnaute Nouveau
Bonjour.
Etant plus bidouilleur Excel que maîtrise, je cherche depuis un moment à adpater une formule qui s'avére bien trop compliquée pour moi à mettre en place. Bien entendu je serais ravi d'en avoir la solution, mais j'aime aussi en comprendre la logique.
Je vais essayer d'être le plus clair possible et joins le fichier en question (la feuille "exemple" est ce que je souhaite obtenir).

Dans ma colonne T (forme), je veux y afficher automatiquement un % (aucun cacul de %, il ne s'agit que de texte exprimé en %) qui va varier en fonction de ce que je vais inscrire en colonne E (CEV). Dans cette colonne E, seul les jeudi et samedi auront une indication.
Je vais y noter par ex : (et/ou)
  • 5 ou 556 ou 565 ou655 sur les jeudis
  • CS ou CC sur les samedis
Si j'indique 5 sur un jeudi de E, il doit me rajouter +15% sur la même ligne en T (par rapport au % affiché sur la cellule précédente)
Si j'indique 655 ou 565 ou 556 sur un jeudi de E, il doit me rajouter +2% sur la même ligne en T.
Si j'indique CS ou CC sur un samedi de E, il doit me déduire -20% sur la même ligne en T.
Illustration :



L'idée est de ne pas avoir à faire une poignée de recopie dans la colonne T, (et donc d'avoir la formule affichée jusqu'à la fin de l'année/feuille) afin de voir dans quel etat de forme exprimée en %, je serais a telle ou telle date suivant mes indications en colonne E.
Petite complication: inutile d'afficher plus de 100%, (150...200) en T, mais je peux faire avec.

A savoir aussi que certain jour, il me faudra manuellement rentrer une modification du % (ex 60% le 9 janvier). J'imagine que la formule étant recopiée sur la colonne, cela ne pose pas de problème, la cellule recopiant la précédente.

J'espère avoir été assez clair. Je précise que c'est pour utilisation personnelle et non professionnelle, aucune urgence et que je ne souhaite pas utiliser du VBA (je dois partager ce fichier avec d'autres).

Merci pour votre aide.
 

Pièces jointes

  • 2017.xlsx
    102.1 KB · Affichages: 64

JHA

XLDnaute Barbatruc
Bonjour à tous,

Si j'ai bien compris, en "T4"
Code:
=MIN(SI(ET(JOURSEM(B4;2)=4;E4<>"");SI($E4=5;$T3+15%;SI(OU($E4=655;$E4=556;$E4=565);$T3+2%;""));SI(ET(JOURSEM(B4;2)=6;E4<>"");SI(OU($E4="CS";$E4="CC");$T3-20%;"");$T3));1)

JHA
 

Pièces jointes

  • 2017.xlsx
    94.4 KB · Affichages: 61

ODVJ

XLDnaute Impliqué
Bonjour,

tu peux essayer
VB:
=SI(OU(S4="";B4="");"";T3+(JOURSEM(B4;2)=4)*((E4=5)*15%+(((E4=565)+(E4=556)+(E4=655))>0)*2%)-((JOURSEM(B4;2)=6)*((E4="cc")+(E4="cs"))>0)*20%)
ton idée de mélanger saisie manuelle et formule est dangereuse.
tu devrais ajouter une colonne pour les saisies manuelles et ajouter la prise en compte d'une saisie manuelle dans la formule.

cordialement
 

ordiba

XLDnaute Nouveau
Merci pour vos réponses.

Alors je n'obtiens pas tout a fait ce que je veux, mais presque un mélange de vos réponses. Et en même temps j'essaye de déchiffrer le truc pour savoir me débrouiller aussi tout seul.

Je ne pige pas pourquoi vous faites références à la colonne B4 représentant le calendrier ? Parce qu'en fait, les annotations du genre "5", "565" ou "cc" ne sont pas figées spécialement sur les jeudi et samedis (elles le sont bien sûr mais c'est juste un visuel pour moi). En fait la formule en T(forme) ne s'adapte qu'en fonction de ce qu'elle lit en E (cev).
En prenant vos formules, du coup lorsque je recopie la formule jusqu'en bas, il ne prends pas en compte les cellules intermédiaires en T qui correspondent a des jours autres que jeudi et samedi. (l'idée étant de voir aussi a quel niveau de forme je serais un jour autre que jeudi et samedi)

ODVJ, je suis d'accord avec toi pour le côté dangereux de mélanger saisie manuelle et formule. Justement donc, est-il possible de faire cette saisie en E pour la faire prendre en compte en T ? Faire une autre colonne pour ça me semble plus judicieux aussi, mais si c'est possible...

En tout cas merci car en étudiant vos formules, je penses que ce n'est pas aussi insurmontable que je le pensais. Je bidouille encore sur vos formules en attendant vos réponses. Merci encore.

Ps : je vous remets le fichier avec vos versions si c'est plus pratique pour vous.
 

Pièces jointes

  • 2017.xlsx
    109 KB · Affichages: 81

ordiba

XLDnaute Nouveau
C'est exactement ça, bravo et surtout merci.

J'ai juste une interférence dans la colonne S(mental) (en recopie je monte a des 1000%) , mais je vais me débrouiller tout seul, car essayer de faire la même chose dans cette colonne.

Vraiment content car j'ai ce que je voulais, et à la lecture de la formule ce n'est pas trop compliqué a déchiffrer pour moi pour apprendre.

Je pense que j'aurais buté longtemps surtout sur le fait que tu mets CS et CC entre guillemet "", mais pas les 5, 565. Parce que ce sont des chiffres et excel ne les interprètes pas de la même façon ?
Ensuite la gestion des $, pas innée chez moi.

Encore merci à vous deux.

Edit : Je pensais que l’interférence que j'ai en S, étaient dû au fait que les cellules S1 et T1 sont fusionnées, mais non.
 
Dernière édition:

ordiba

XLDnaute Nouveau
Bonjour.
Je reviens vers vous. D'abord pour vous remercier pour votre aide précieuse, j'ai grâce à vous ce que je souhaitais, et j'ai en ai appris plus par la même occasion.

Là, je voudrais autre chose, et je n'y arrive pas.
Dans les colonnes G a R, je rentre des données, qui vont être mises à jour manuellement.
Pour m'éviter des poignées de recopie, j'ai utilisé SI(ESTVIDE(G3);"";G3), ce qui me rempli automatiquement la colonne jusqu'à la fin de l'année.

En Z, j'ai cette formule de date SI(B4=AUJOURDHUI();"Ce Jour";"") pour un répére (j'ai aussi une mise en forme conditionnelle sur la colonne B des dates, police rouge si "aujourd'hui").

Ce que j'essaye de faire sans succès, c'est qu'il me fasse la recopie de la cellule précedente, seulement quand la date du jour est passé, tout en gardant la notion de SI(ESTVIDE(G3);"";G3), de sorte que lorsque j'ouvre mon fichier au bout de 5 jours par exemple pour y rentrer des nouvelles données, il me remplisse les cellules précédentes, sans avoir la feuille remplie les jours suivants.

J'ai parfaitement conscience que rentrer des nouvelles données sur certaines lignes, va écraser la formule, mais le SI(ESTVIDE(G3);"";G3) remplira quand même son rôle.

Je n'y arrive pas. Est-ce possible ?
Fichier joint.

Merci a vous.
 

Pièces jointes

  • date_recopie.xlsx
    83.7 KB · Affichages: 45

Discussions similaires

Réponses
13
Affichages
318
Réponses
31
Affichages
479

Statistiques des forums

Discussions
312 079
Messages
2 085 129
Membres
102 788
dernier inscrit
Remy003