Liste déroulante avec retour formule

fireweb Messages postés 202 Statut Membre -  
fireweb Messages postés 202 Statut Membre -
Bonjour,

J'ai une case qui contient une formule qui est :

=SI(D5=donnees!$A$3;donnees!B$3;SI(D5=donnees!$A$6;donnees!B$6;SI(D5=donnees!$A$9;donnees!B$9;SI(D5=donnees!$A$13;donnees!B$13;SI(D5=donnees!$A$16;donnees!B$16;SI(D5=donnees!$A$19;donnees!B$19;SI(D5=donnees!$A$22;donnees!B$22;SI(D5=donnees!$A$25;donnees!B$25;SI(D5=donnees!$A$28;donnees!B$28;SI(D5=donnees!$A$31;donnees!B$31;))))))))))


A cette case je voudrais intégrer une liste déroulante avec comme choix :

*vide*

CP

AM

MAT

Le problème est que quand je vais faire un choix dans cette liste, ma case va être remplacée par une des valeurs de la liste ( ce qui est normal ). Je voudrais faire en sorte que lorsque je prend le premier choix ( choix vide ) je puisse pointer sur ma formule d'origine.

--
A voir également:

2 réponses

RachelMartel Messages postés 460 Statut Membre 25
 
Tu peux mettre ta formule dans tes choix.
0
RachelMartel Messages postés 460 Statut Membre 25
 
Ah non, il met juste le résultat de la formule...
0
fireweb Messages postés 202 Statut Membre 79
 
oui c'est dommage
0
NeoTsu Messages postés 62 Statut Membre 3
 
Bonjour,

je t'avais tapé ça mais ça a disparu... c'est reparti du coup ^^

On va admettre que :

ta formule est en A1
A2 est une cellule que tu n'utilise pas et qui ne sera JAMAIS utilisée ^^ (tu pourra la changer par une autre cellule, il faudra juste la remplacer dans le code.)

tu remplacera ces coordonnées par celles qui conviendront a ton fichier

dans l'onglet formulaire, tu va créer une liste déroulante ( n'utilise pas la validation de données)
tu dessine ta liste, puis tu fais clic droit, format de contrôle.
Plage d'entrée : sélectionne la zone où tu a mis ta liste, ou met le nom de ta liste si tu l'a nommée. attention, n'oublie pas de prendre une case pour le "vide", et de bien mettre dans le même ordre que celui que tu a donné plus haut
Cellule liée : =A2
puis tu fais a nouveau clic droit sur la liste, affecter une macro, et tu créé une nouvelle macro avec le code:

Sub liste()
if sheets("nomdetafeuille").range("A2").value = 1 then
sheets("nomdetafeuille").range("A1").value = "=SI(D5=donnees!$A$3;donnees!B$3;SI(D5=donnees!$A$6;donnees!B$6;SI(D5=donnees!$A$9;donnees!B$9;SI(D5=donnees!$A$13;donnees!B$13;SI(D5=donnees!$A$16;donnees!B$16;SI(D5=donnees!$A$19;donnees!B$19;SI(D5=donnees!$A$22;donnees!B$22;SI(D5=donnees!$A$25;donnees!B$25;SI(D5=donnees!$A$28;donnees!B$28;SI(D5=donnees!$A$31;donnees!B$31;))))))))))"
Else
if sheets("nomdetafeuille").range("A2").value = 2 then
sheets("nomdetafeuille").range("A1").value = "CP"
Else
if sheets("nomdetafeuille").range("A2").value = 3 then
sheets("nomdetafeuille").range("A1").value = "AM"
Else
sheets("nomdetafeuille").range("A1").value = "MAT"
end if
end if
end if
end sub


voila, normalement ça devrait marcher, tu n'a plus qu'a déplacer ta liste déroulante a l'endroit qui t'arrange (n'oublie pas d'affecter la macro après l'avoir créée).

si tu a d'autres question n'hésite pas
0
fireweb Messages postés 202 Statut Membre 79
 
Je vois l'idée mais c'est bête je bloque sur la création de la liste déroulante.
Je suis sur Excel 2010.
J'ai rajouter la fonction Formulaire mais je ne vois pas comment m'en servir.
Je vais essayer de trouver des tuto sur internet.
0
fireweb Messages postés 202 Statut Membre 79
 
Voilà donc sa marche ! Bien vu.

Merci beaucoup
0