Undevor
Messages postés12Date d'inscriptionmardi 26 décembre 2006StatutMembreDernière intervention13 juillet 2007
-
5 janv. 2007 à 11:02
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 2014
-
5 janv. 2007 à 17:01
Bonjour à toutes et à tous,
Je rencontre un problème de taille, enfin je crois.....
Je suis en train de créer un tableau avec un report de chiffre sur plusieurs feuilles dans le même classeur. Sur la feuille principale, j'ai créé une liste déroulante avec les 12 mois de l'année. En fonction du mois selectionné, la cellule liée à ce choix donne un chiffre allant de 1 à 12.
J'ai renommé cette cellule liée "Mois". Sur une autre feuille, je souhaite qu'en fonction du chiffre donné par cette cellule liée, je puisse avoir un texte personnalisé. Jusque là pas de problème, je tape une formule de type :
si(Mois=1;"TEXTE 1";Si(Mois=2;"TEXTE 2";Si(Mois=3;"TEXTE 3"))) et ainsi de suite pour les 12 mois....
Le Hic c'est que lorsque ma formule est entièrement tapée, elle me signale une erreur à compter de la 9ème fonction SI. Excel ne peut-il pas gérer cette longueur de formule ou existe t'il un autre moyen ?
Je vous remercie par avance parce que là je seche......
Cordialement
Stephane
A voir également:
Ora-00937: la fonction de groupe ne porte pas sur un groupe simple
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 5 janv. 2007 à 11:04
Salut, on ne traite que de programmation sur le forum, mais pour repondre à ta question une formule accepte seulement 9 arguments, et oui c'est la misère!
Drikce 06
Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 5 janv. 2007 à 12:14
Il faut donc faire le calcul à la main en mettant le code ci-dessous dans un module en VBA
Ensuite dans ta cellule, tu écrit la formule suivante =TestMois(Mois)
Public Function TestMois(valMois As Integer) As String
Select Case valMois
Case 1: TestMois = "Janvier"
Case 2: TestMois = "Fevrier"
Case 3: TestMois = "Mars"
Case 4: TestMois = "Avril"
Case 5: TestMois = "Mai"
Case 6: TestMois = "Juin"
Case 7: TestMois = "Juillet"
Case 8: TestMois = "Aout"
Case 9: TestMois = "Septembre"
Case 10: TestMois = "Octobre"
Case 11: TestMois = "Novembre"
Case 12: TestMois = "Decembre"
End Select
End Function
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 5 janv. 2007 à 13:53
Il n'y a même pas besoin de code VBA pour ça, avec une simple formule Excel, on le fait sans mal :
Tu as déjà rentré quelque part la liste des mois, mettons sur la feuille "Mois". Et bien, à côté, tu mets tes infos.
Je te conseille de faire un truc comme :
A1: Janvier B1: 1 C1: Texte1
A2: Février B2: 2 C2: Texte2
...
Tu as donc un tableau A1:C12
Tu nommes ce tableau (Menu Insertion\Nom\Définir) et tu lui donnes le nom "ListeMois" par ex.
Tu as sur une feuille quelconque une cellule avec en Validation une liste déroulante si j'ai bien compris. Mettons dans "Feuille1", en A1.
Et bien, pour avoir le numéro de mois correspondant en A2, il te suffit de mettre A2: =RECHERCHEV(A1;ListeMois;2;FAUX) et pour avoir le texte correspondant en A3, A3:=RECHERCHEV(A1;ListeMois;3;FAUX)
Avantage en plus : C'est bien plus facile à mettre à jour/maintenir quand c'est sous cette forme, et tu n'as pas de formules tellement longues qu'il te faut 10 mn rien que pour comprendre où sont tes arguments (parce que 9 boucles si imbriquées, c'est illisibles ^^ .. et oui, comme on te l'a dit, 9 est le nb d'argument maximal de la formule SI).
Molenn
Vous n’avez pas trouvé la réponse que vous recherchez ?
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 5 janv. 2007 à 14:19
Et nous sommes sur un forum Codes-Sources je sais
Mais je me suis permis, c'était trop tentant ^^ Et puis, quelqu'un qui en était rendu à coller 9 formules SI imbriquées dans une cellule, doit apprécier une réponse Excel aussi. Ca ne peut pas faire de mal, moi, depuis que j'ai enfin découvert le fonctionnement des RECHERCHEV et RECHERCHEH (qui ne sont pas très faciles au premier abord), je n'utilise plus que ça !
Mais je te rassure Casy, ton code est très bien aussi ^^ même si j'ai une syntaxe un tout petit peu différente, je ne savais pas qu'on pouvait faire écrire
Case: test
Je faisais toujours
Case
test