Les formules alambiquées

Bonjour,

Un appel aux fins connaisseurs,

Je m'évertue à utiliser au maximum les fonctions et formules de la feuille de calcul avant d'avoir recours au VBA. C'est un petit challenge personnel que j'ai gardé de mes débuts sur un des premiers ordi de poche, la calculatrice programmable PB 100 de Casio, ou le concours des deux ligneurs faisait fureur à l'époque: écrire sur 2 lignes max la plus large appli possible. les anciens s'y reconnaitrons.

Par contre garder à l'esprit d'éviter dans Excel les formules pelote de laine qui deviennent vite illisibles et indigestes.

Aujourd'hui le un problème avec les formules SI / si. condition / si. multiple avec lesquelles j'aimerais pouvoir modifier la valeur d'une cellule autre que celle contenant la formule.

exemple: je suis dans A4 qui est vide, B4 contient 80 et devrais valoir 100, B3 est documentée

la formule est si(et(B4= 100; B3<>"");"OK"; modifier valeur dans B4)

ou a la rigueur afficher un message de Rappel au lieu de modifier B4

J'espère avoir été clair,https://forum.excel-pratique.com/template/img/emojis/1f92a.svg)">

Au boulot, vous avez 3 heures https://forum.excel-pratique.com/template/img/emojis/1f923.svg)">

Bonne journée

Bonjour,
Et comme ceci, du coup ?

=si(et(B4=100;B3<>"");"OK";"modifier valeur dans B4")

BONSOIR,

L'idée est intéressante mais ne s'adapte pas au besoin car la cellule recevant le message est numérique et cela mettrais un peu le bazar dans les calculs qui en découle, il faudrait pouvoir mettre le message dans un pop up ou dans une autre cellule, et ça je ne trouve pas de solution.

Mais merci de ton apport qui m'intéresse pour un autre sujet

Jean-Jacques

Bonsoir,

avez vous un fichier avec le positionnement des différentes cellules et leur utilisations sur d'autres cellules.
A savoir : une formule n'envoie pas de données dans "une autre", c'est "une autre" qui contient une formule dont le résultat dépendra de la valeur du résultat de la formule !

@ bientôt

LouReeD

Bonjour Lou reed,

effectivement j'avais envisagé cette solution mais n'ai pas trouvé comment la mettre en Œuvre, voici un tableau de travail

Merci de votre suivi

bien cordialement

Jean Jacques

10classeur1.xlsx (97.82 Ko)

Je l'avais solutionné ainsi , mais ce que je cherchais devais aussi vider le Total Payé, et je ne trouve pas, sauf à créer une fonction VBA que je pourrais appeler?

7classeur1.xlsx (97.88 Ko)

Bonsoir,

le/les fichiers c'est bien mais quelles sont les cellules qui doivent interagir vu que vous faites des exemple avec la colonne A, B et autre et le fichier commence en colonne M...

Il faudrait un peu plus de précisions.

@ bientôt

LouReeD

Ah oui, j'ai été négligeant,

l'explication est dans le modèle, Merci

13classeur1.xlsx (99.28 Ko)

Bonsoir,

un essai mais je ne suis pas sur d'avoir compris....

@ bientôt

LouReeD

Helas non, c'est pas bon, je vais faire un descriptif plus explicite,

Mais merci tout de même de vous y intéresser

ce que j'ai compris :
si p=Aut
si O=""
alors T=10 ET V = -cotisation

image

Ca c'est bon ?

@ bientôt

LouReeD

Oui, vous avez bien compris, et c'est ce que fait ma version actuelle,

le problème c'est d'arriver a effacer le total payé car en cas d'usage de "Aut", il n'y a pas d'encaissement et si "Aut" est validé avec O3 non vide c'est mauvais

j'ai essayé avec une function mais j'arrive toujours pas a effacer O3 voilà le fichier, allez voir la function

7classeur1.xlsm (106.13 Ko)

bon je m'évertue à essayer mais j'ai encore des lacunes

Plusieurs solutions essayées, jusqu'à présent personne ne semble avoir de solution. Faudra t-il sacrifier à l'usage de VBA, Je garde espoir.

A vos claviers les amis Merci

Bonsoir,

sur votre fichier pouvez vous sur chaque ligne écrire en "dur" les différentes possibilités et je me débrouille à faire ce qu'il faut...
Il faudra repérer les cellule où l'utilisateur va entrer des données et les cellules "automatique".

Si dans la préparation du fichier vous avez des cellules à "double emploi" : entrée par l'utilisateur et automatique alors il faudra penser à mettre une troisième couleur.
après à moi de voir comment gérer cette situation.

@ bientôt

LouReeD

la seule référence saisie par l'utilisateur est le Paiement en colonne O toutes les autres se recalculent automatiquement

Merci de votre aide

Donc on a bien la colonne a double fonction : l'utilisateur la renseigne et il faut dans certain cas que la feuille efface sa donnée.
Il faut donc du VBA... ou bien accepter des colonnes supplémentaires pour compenser.

Avez vous un fichier avec trois quatre lignes renseignées en dur en fonction du paiement fait/pas fait avec aut / pas aut etc...?

@ bientôt

LouReeD

Bonjour LouReed,

Oui, c'est déjà dans le document classeur1 dont j'ajoute ici la dernière version

4classeur1.xlsm (106.37 Ko)

J'ai laissé dans le VBA les essais que j'avais fait et qui ne fonctionnent pas, vous pouvez les effacer

Un détail qui va de soit mais que j'ai oublié de vous signaler, l'utilisateur entre le montant payé colonne "O" puis sélectionne le mode de paiement dans la liste déroulante de cellule en colonne "P". le montant est alors répartit automatiquement, la liste déroulante de la cellule ne peux pas être modifiée par l'usager.

La liste déroulante fait référence aux celulles Q2 à T2 dont j'ai modifié le libellé pour être plus explicites

Le montant de base des cotisations ainsi que leur date d'application figurent en colonne Y et Z elles sont nommées " Cotise" & "Année"

En fonction de "Année", les cellules de paiement ont une mise en forme de couleur et l'année en "M" reçoit un texte différent permettant de mettre en évidence l'ancienneté des cotisations. Le message alertant sur le montant à effacer apparait dans cette cellule.

Votre proposition d'une case supplémentaire certes pour répondre à mon challenge d'éviter le VBA, mais elle devrait être masquée pour ne pas créer de confusion. Au final je pense que VBA serait plus rigoureux ?

Je pense que j'ai rien oublié, Bon courage et Merci

Bonsoir LouReed

une petite avancée, mais pas encore une solution

9classeur1.xlsm (116.99 Ko)

si vous changez le mode de paiement en sélectionnant "Affect", le message Effacer Total apparait, sans quitter la ligne vous cliquez sur les billets, la macro vérifie , efface bien le total et affiche un message d'information.

Reste à lancer cette macro depuis la fonction contrôle de la colonne "Affect" , mais je trouve pas la formule. c'est agaçant non ?

Bonjour LouReed

12classeur1-copier.xlsm (109.23 Ko)

Bonne Nouvelle, j'ai réussi.

En raison de vos connaissances du VBA, Pourriez vous me dire si la solution vous semble correcte ?

Merci pour tout et bonne journée

Bonsoir,

cela me semble fonctionner, si valeur en "payé" et choix d'"affect" alors message d'erreur, mais je ne comprend pas le lien avec la date...
Sinon pour éviter d'afficher "FAUX" en colonne K je mettrais cette formule : =SI(OU($E3>=cotise;ET($E3<=0;$F3=$J$1));cotise;""), c'est à dire on affiche rien plutôt que FAUX du fait que le troisième paramètre du SI est renseigné.

@ bientôt

LouReeD

Rechercher des sujets similaires à "formules alambiquees"