Fonction logique

Bonjour ,

loin d'être expert en VBA , je souhaiterai savoir comment mettre en application la règle suivante:

à partir de 3 "Noms " prédéfinis dans une liste déroulante dans la colonne A par exemple, renvoyer dans 3 autres colonnes B, C, D, identifiées chacune avec chaque "Noms" , la valeur 1 pour le nom qui sera sélectionné dans la liste déroulante de la colonne A et 0 pour les autres "noms".

Entres autre c'est établir la syntaxe suivante: si tel NOM est sélectionné, alors la colonne lui correspondant prend la valeur 1 et les autres prennent la valeur 0

Je précise de même que les noms saisis en en-tête de chaque colonne n'ont aucune fonction dynamique.

Je pense qu'il faut mettre une forme conditionnelle ' SI , ALORS ', .

Merci très sincèrement à ceux et celles qui pourront m'aider à rédiger ces quelques lignes en VBA, à moins qu'une fonction d'Excel existe déjà pour établir ce dont je souhaite, car apparemment il serait difficile pour une fonction logique déjà existante dans la bibliothèque d'Excel d'établir une relation entre caractères alphabétiques et valeurs numériques.

tbn1

Bonjour,

Un essai :

7choix.xlsx (13.34 Ko)

Bonsoir,

@ DjiDji

Comme tu as eu le courage de faire un fichier, alors que notre ami a préféré faire une "photo" (qui a dû lui prendre plus de temps que de joindre un fichier exemple....), juste une petite question :

Tu mets :

=SI(EQUIV($F$12;$H$10:$J$10;0)=EQUIV(DECALER(H$12;-2;0);$H$10:$J$10;0);1;"")

Pourquoi pas? :

=SI(H$10=$F$12;1;"")

tout simplement?

Je n'ai peut-être pas tout compris, non plus....

Bonne soirée

Merci beaucoup de ta réponse ,

c'est déjà une très grande avancée. On y est presque. Est-il possible de compléter en rajoutant dans la macro le variable "0" afin qu'elle s'affiche pour les deux autres noms, lorsque celui sélectionner prend la valeur de "1" ?

Bonsoir steph68,

Euh, ceci n'est pas une macro, mais une formule entrée dans une cellule....

Et pour remplacer le "vide" par 0, tu peux modifier ainsi :

    =SI(H$10=$F$12;1;0)

Maintenant, comme je l'ai dit plus haut, il est préférable de joindre un fichier exemple, sans données confidentielles, mais avec la structure exacte de ton fichier de travail....

Pour joindre un fichier, explore de fond en comble ce lien :

https://forum.excel-pratique.com/annonces/explications-et-regles-a-respecter-t13.html

Bonne soirée

cousinhub a écrit :

Bonsoir,

@ DjiDji

Comme tu as eu le courage de faire un fichier, alors que notre ami a préféré faire une "photo" (qui a dû lui prendre plus de temps que de joindre un fichier exemple....), juste une petite question :

Tu mets :

=SI(EQUIV($F$12;$H$10:$J$10;0)=EQUIV(DECALER(H$12;-2;0);$H$10:$J$10;0);1;"")

Pourquoi pas? :

=SI(H$10=$F$12;1;"")

tout simplement?

Je n'ai peut-être pas tout compris, non plus....

Bonne soirée

Je n'ai pas été assez rapide !

Je temps que ma solution capillotractée me saute aux yeux et que je la modifie par celle que tu propose justement et que j'upload le nouveau fichier a la place de "l'horreur", tu avais vu ........

Bonsoir Cousinhub ,

je te remercie . C'est claire que je ne suis pas un AS d'Excel , de plus, je fais mes premiers pas sur ce forum .Je vais suivre tes instructions et te faire suivre le fichier en question. Rien qui ne soit particulièrement confidentiel. Le fichier MOE est encore à l'étape d'ébauche. Désolé pour mes égards entre " Fonction" et "Macro". Je m'efforce d'apprendre tout ça.

Pour revenir à ce qui me pose problème, comme tu vas pouvoir le voir sur le fichier MOE , celui -ci dispose d'une colonne "MOTIFS" avec trois choix : "Surcroit d'activité" "Prolongation Surcroit d'activité" et " Remplacement partiel " pour faire référence aux "NOMS" que j'avais énoncé initialement dans mon premier message . Dans la colonne MOTIFS, un menu déroulant étendu à chaque cellule de F6 à F372, la sélectionne d'un "motif" va reporter à chaque fois une valeur 0 ou 1 dans les cellules correspondantes des colonnes en jaune. C'est à dire , par exemple lorsque le motif " Remplacement partiel" sera sélectionner en F6 pour une mission donnée et un individu , la valeur de "1" viendra s'afficher en K6 dans la colonne jaune correspondante "Contrats Remplacement Partiel" ce qui entrainera automatiquement pour les cellules correspondantes sur la même ligne " Contrats Surcroit d'activité" en J6 et "Prolongation Surcroit d'activité" en M6 la valeur "0" mise par défaut, tout simplement, si je peux dire.

Et ainsi de suite à chaque fois, que l'on change le motif de la mission ,ou de ligne de Mission, la nouvelle sélection met à 1 la cellule correspondante, et les deux autres prennent la valeur 0 .

Comme tu peux le voir se type de fonction se reporte jusqu'en F372, puisqu'il s'agit de faire connaitre des individus pour des missions intérimaires et que chaque ligne correspond à une mission.

Mon fichier n'en sera pas pour autant terminé, car une fois ces fonctions créées, je vais par la suite essayer de faire ma première fenêtre de saisie pour faciliter la saisie de chaque mission, tout en gardant les listes déroulantes déjà existantes et les fonctions bien entendu. Je n'en suis pas encore là.

A préciser que toute les valeurs du tableau actuel sont aléatoires.

Merci très sincèrement, et désolé d'exposer la chose aussi longuement, espérant être claire dans mes détails.

Bon 1er Mai.

8moe.xlsx (28.86 Ko)

Merci DjiDji ,

j'ai fais ce que tu as écrit, ça me plait bien, ça parait tellement simple , j'ai appris quelque chose ce soir. Merci beaucoup.

Bonne soirée !

DjiDji59430 a écrit :
cousinhub a écrit :

Bonsoir,

@ DjiDji

Comme tu as eu le courage de faire un fichier, alors que notre ami a préféré faire une "photo" (qui a dû lui prendre plus de temps que de joindre un fichier exemple....), juste une petite question :

Tu mets :

=SI(EQUIV($F$12;$H$10:$J$10;0)=EQUIV(DECALER(H$12;-2;0);$H$10:$J$10;0);1;"")

Pourquoi pas? :

=SI(H$10=$F$12;1;"")

tout simplement?

Je n'ai peut-être pas tout compris, non plus....

Bonne soirée

Je n'ai pas été assez rapide !

Je temps que ma solution capillotractée me saute aux yeux et que je la modifie par celle que tu propose justement et que j'upload le nouveau fichier a la place de "l'horreur", tu avais vu ........

Rechercher des sujets similaires à "fonction logique"