XL 2010 Une fonction qui sature

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Je me suis amusé à rédiger une fonction qui renvoie le nom du jour de la semaine en différentes langues. La fonction permet aussi de renvoyer la transcription latinisée et éventuellement diacritée quand la langue est dans un alphabet, disons, ésotérique (hébreu, cyrillique…). La fonction marche parfaitement bien. Au départ, je ne pensais mettre dans cette fonction que quelques langues, mais, l’enthousiasme aidant, je me suis retrouvé avec un "paquet". Et là, curieusement, je constate que je ne peux dépasser 184 langues. Si je rajoute une langue supplémentaire, apparaît invariablement un message d’erreur (traduit) : "Erreur de compilation : Procédure trop longue".

La fonction :
VB:
Function NomJourSemaineTrip$(Optional fecha As Date, Optional ChxLangue%, Optional NomLangue As Byte, Optional NbItems As Boolean = False, Optional transcription As Boolean = False, Optional LangueBase As Byte)
'Renvoie le jour de la semaine correspondant à une date
'- fecha : une date
'- ChxLangue : choix de la langue. Ex : 1 --> Abkhaze | 2 --> Afrikaans | 3 --> Alabama |...
'- NomLangue : 1 --> nom de la langue choisie dans la matrice "langue"
'              2 --> jour de la semaine, correspondant á la date "fecha", dans la matrice "LangueRef"
'              3 --> nom de la langue compréhensible dans la matrice "LangueRef"
'- NbItems : si True --> nombre de langues répertoriées dams la fonction
'- transcription : si True --> vérifie si la langue choisie est dans un alphabet ésotérique (grec, cyrillique...) et recherche sa transcription latinisée
'- LangueBase : 1 --> matrice "LangueRef" pour français | 2 --> matrice "LangueRef" pour espagnol |...
'ATTENTION ! Après toute modification, ne pas oublier de mettre à jour "NbLangues" & les "Case" de "latinisation"
'Magic_Doctor

Dim langue, NbLangues As Byte, latinisation, LangueRef

    'Les langues de base (compréhensibles)
    Select Case LangueBase
        Case 1: LangueRef = Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Français")
        Case 2: LangueRef = Array("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Espagnol")
        Case 3: LangueRef = Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Anglais")
        Case 4: LangueRef = Array("Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado", "Portugais")
    End Select
   
    'Ensemble des langues avec lesquelles on veut indiquer les noms des jours de la semaine
    Select Case ChxLangue
        Case 1: langue = Array(ChrW(1040) & ChrW(1084) & ChrW(1213) & ChrW(1100) & ChrW(1231) & ChrW(1096), _
                               ChrW(1040) & ChrW(1096) & ChrW(1241) & ChrW(1072) & ChrW(1093) & ChrW(1100), _
                               ChrW(1040) & ChrW(1193) & ChrW(1072) & ChrW(1096), _
                               ChrW(1040) & ChrW(1093) & ChrW(1072) & ChrW(1096), _
                               ChrW(1040) & ChrW(1191) & ChrW(1096) & ChrW(1100) & ChrW(1072) & ChrW(1096), _
                               ChrW(1040) & ChrW(1093) & ChrW(1241) & ChrW(1072) & ChrW(1096), _
                               ChrW(1040) & ChrW(1089) & ChrW(1072) & ChrW(1073) & ChrW(1096), "Abkhaze")
        Case 2: langue = Array("Sonndag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrydag", "Saterdag", "Afrikaans")
        Case 3: langue = Array("Nihtahollo", "Nihta a" & ChrW(620) & ChrW(620) & "ámmòona", "Nihta atòkla", "Nihta atótchìina", "Nihta istóstàaka", "Nihta istá" & ChrW(620) & ChrW(620) & "àapi", "Nihtahollosi", "Alabama")
        Case 4: langue = Array("E diel", "E hënë", "E martë", "E mërkurë", "E enjte", "E premte", "E shtunë", "Albanais")
        Case 5: langue = Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Allemand")
        Case 6: langue = Array("Sonndich", "Mendich", "Denschdich", "Mittich", "Donnerschtich", "Fraidich", "Samschdich", "Allemand (Bavarois)")
        Case 7: langue = Array("Sunntig", "Määntig", "Ziischtig", "Mittwuch", "Dunschtig", "Friitig", "Samschtig", "Allemand (Suisse)")
        Case 8: langue = Array("Sunndi", "Mandi", "Zischdi", "Mittwuch", "Dunnerschdi", "Fridi", "Sàmschdi", "Alsacien")
        Case 9: langue = Array(ChrW(&H12A5) & ChrW(&H1211) & ChrW(&H12F5), _
                               ChrW(&H1230) & ChrW(&H129E), _
                               ChrW(&H121B) & ChrW(&H12AD) & ChrW(&H1230) & ChrW(&H129E), _
                               ChrW(&H1228) & ChrW(&H1261) & ChrW(&H12D5), _
                               ChrW(&H1210) & ChrW(&H1219) & ChrW(&H1230), _
                               ChrW(&H12D3) & ChrW(&H122D) & ChrW(&H1265), _
                               ChrW(&H1245) & ChrW(&H12F3) & ChrW(&H121C), "Amharique")
        Case 10: langue = Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Anglais")
        Case 11: langue = Array("Sunnandæg", "M" & ChrW(333) & "nandæg", "T" & ChrW(299) & "wesdæg", "W" & ChrW(333) & "dnesdæg", ChrW(222) & "unresdæg", "Fr" & ChrW(299) & "gedæg", "Sæternesdæg", "Anglo-Saxon")
        Case 12: langue = Array("Domingo", "Luns", "Martes", "Miércols", "Chuebes", "Biernes", "Sabado", "Aragonais")
        Case 13: langue = Array(ChrW(1343) & ChrW(&H56B) & ChrW(&H580) & ChrW(&H561) & ChrW(&H56F) & ChrW(&H56B), _
                                ChrW(&H535) & ChrW(&H580) & ChrW(&H56F) & ChrW(&H578) & ChrW(&H582) & ChrW(&H577) & ChrW(&H561) & ChrW(&H562) & ChrW(&H569) & ChrW(&H56B), _
                                ChrW(&H535) & ChrW(&H580) & ChrW(&H565) & ChrW(&H584) & ChrW(&H577) & ChrW(&H561) & ChrW(&H562) & ChrW(&H569) & ChrW(&H56B), _
                                ChrW(&H549) & ChrW(&H578) & ChrW(&H580) & ChrW(&H565) & ChrW(&H584) & ChrW(&H577) & ChrW(&H561) & ChrW(&H562) & ChrW(&H569) & ChrW(&H56B), _
                                ChrW(&H540) & ChrW(&H56B) & ChrW(&H56F) & ChrW(&H563) & ChrW(&H577) & ChrW(&H561) & ChrW(&H562) & ChrW(&H569) & ChrW(&H56B), _
                                ChrW(&H548) & ChrW(&H56C) & ChrW(&H580) & ChrW(&H562) & ChrW(&H561) & ChrW(&H569), _
                                ChrW(&H547) & ChrW(&H561) & ChrW(&H562) & ChrW(&H561) & ChrW(&H569), "Arménien")
        Case 14: langue = Array("Domingu", "Llunes", "Martes", "Miércols", "Xueves", "Vienres", "Sábadu", "Asturien")
        Case 15: langue = Array("Kari", "Ntenen", "Tarata", "Araba", "Alamisa", "Juma", "Sibiri", "Bambara")
        Case 16: langue = Array("Sinndag", "Moondag", "Dinjsdag", "Meddweakj", "Donnadag", "Friedag", "Sinnovend", "Bas-Prussien")
        Case 17: langue = Array("Igande", "Astelehen", "Astearte", "Asteazken", "Ortzegun", "Ortziral", "Larunbat", "Basque")
        Case 18: langue = Array("Nedjelja", "Ponedeljak", "Utorak", "Srijeda", "Cxetvrtak", "Petak", "Subota", "Bosniaque")
        Case 19: langue = Array("Dimainge", "Lundi", "Maurdi", "Mércredi", "Jeudi", "Vanredi", "Samedi", "Bourguignon")
        Case 20: langue = Array("Disul", "Dilun", "Dimeurzh", "Dimerc'her", "Diriaou", "Digwener", "Disadorn", "Breton")
        Case 21: langue = Array("Nedelja", "Ponedelnik", "Vtornik", "Srjada", ChrW(268) & "etv" & ChrW(227) & "rt" & ChrW(227) & "k", "Pet" & ChrW(227) & "k", "S" & ChrW(227) & "bota", "Bulgare")
        Case 22: langue = Array("Niedzela", "Pòniedzô" & ChrW(322) & "k", "Wtórk", "Strzoda", "Czwiôrtk", "Pi" & ChrW(261) & "tk", "Sobòta", "Cachoube")
        Case 23: langue = Array("Pyhäpäivy", "Enzimäinargi", "Toinargi", "Kolmaspäivy", "Nelläspäivy", "Piätteni" & ChrW(269) & ChrW(269) & "y", "Suovattu", "Carélien")
        Case 24: langue = Array("Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Catalan")
        Case 25: langue = Array("Dominggo", "Lunes", "Martes", "Miyerkoles", "Huwebes", "Biyernes", "Sabado", "Cebuano")
        Case 26: langue = Array("Unododaquasgvi", "Unadodaquonvi", "Taline iga", "Tsoine iga", "Nvgine iga", "Tsungilosdi", "Unadodawidena", "Cherokee")
        Case 27: langue = Array("Ma'heóne É" & ChrW(353) & "eeva", "No'ka É" & ChrW(353) & "eeva", "Nexa É" & ChrW(353) & "eeva", "Na'ha É" & ChrW(353) & "eeva", _
                                "Neva É" & ChrW(353) & "eeva", "Nóhona É" & ChrW(353) & "eeva", "T" & ChrW(353) & "ê" & ChrW(353) & "ke'ma'heóne É" & ChrW(353) & "eeva", "Cheyenne (Montana)")
        Case 28: langue = Array("Ma'heóne É" & ChrW(353) & "eeva", "Éénema'heóne É" & ChrW(353) & "eeva", "No'ka É" & ChrW(353) & "eeva", "Nexa É" & ChrW(353) & "eeva", _
                                "Na'ha É" & ChrW(353) & "eeva", "Neva É" & ChrW(353) & "eeva", "T" & ChrW(353) & "ê" & ChrW(353) & "ke'ma'heóne É" & ChrW(353) & "eeva", "Cheyenne (Oklahoma)")
        Case 29: langue = Array("Diminche", "Lundi", "Mardi", "Mékerdi", "Judi", "Verdi", "Sinmdi", "Ch'ti")
        Case 30: langue = Array("Dy' Sul", "Dy' Lun", "Dy' Meurth", "Dy' Mergher", "Dy' Yow", "Dy' Gwener", "Dy' Sadorn", "Cornique")
        Case 31: langue = Array("Dumenica", "Luni", "Martì", "Mercurì", "Ghjovi", "Venneri", "Sabatu", "Corse")
        Case 32: langue = Array("Svêdiens", "Pirmedien", "Uoatirdien", "Tre" & ChrW(353) & "edien", ChrW(268) & "etirdien", "Piegdien", "Pussvêts", "Couronien")
        Case 33: langue = Array("Dimanch", "Lendi", "Madi", "Mèkredi", "Jedi", "Vandredi", "Samdi", "Créole (Haïti)")
        Case 34: langue = Array("Dimanch", "Lendi", "Mardi", "Merkrèdì", "Jédi", "Vantrèdi", "Sanmdi", "Créole (Martinique)")
        Case 35: langue = Array("Dimans", "Lïndi", "Mardi", "Merkrëdi", "Zhëdi", "Vandrëdi", "Samedi", "Créole (Maurice)")
        Case 36: langue = Array("Dimansh", "Lïndi", "Mardi", "Mëkredi", "Zhëdi", "Vandrëdi", "Samedi", "Créole (Réunion)")
        Case 37: langue = Array("Dimanch", "Lendi", "Mandi", "Mèkwèdi", "Jendi", "Vandwèdi", "Samdi", "Créole (Sainte-Lucie)")
        Case 38: langue = Array("Dimans", "Lendi", "Mardi", "Merkredi", "Zedi", "Vandredi", "Sanmdi", "Créole (Seychelles)")
        Case 39: langue = Array("S" & ChrW(248) & "ndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "L" & ChrW(248) & "rdag", "Danois")
        Case 40: langue = Array("Q'unodle dranh", "Ge" & ChrW(322) & "ix nixinithdo" & ChrW(322) & "di", "Nodi nixinithdo" & ChrW(322) & "di", "Toxdi nixinithdo" & ChrW(322) & "di", _
                                "Diniyhdi nixinithdo" & ChrW(322) & "di", "Nelang tr'ithondi", "Ttha" & ChrW(322) & "ghun' tonxalyaxdi dranh", "Deg Xinag")
        Case 41: langue = Array("Drai hmitrötr", "Thupene hmi", "Drai ange dic", "Drai menu", "Drai kaco", "Drai katru", "Drai meci xen", "Drehu")
        Case 42: langue = Array("Didòmhnaich", "Diluain", "Dimàirt", "Diciadain", "Diardaoin", "Dihaoine", "Disathairne", "Écossais")
        Case 43: langue = Array("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Espagnol")
        Case 44: langue = Array("Doman" & ChrW(265) & "o", "Lundo", "Mardo", "Merkredo", ChrW(308) & "a" & ChrW(365) & "do", "Vendredo", "Sabato", "Espéranto " & ChrW(9775))
        Case 45: langue = Array("Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Nejapäev", "Reede", "Laupäev", "Estonien")
        Case 46: langue = Array("Sunnudagur", "Mánadagur", "Týsdagur", "Mikudagur", "Hósdagur", "Fríggjadagur", "Leygardagur", "Féroïen")
        Case 47: langue = Array("Sigatabu", "M" & ChrW(333) & "niti", "T" & ChrW(363) & "siti", "Vukelulu", "Lotulevu", "Vakaraubuka", "Vakarauwai", "Fidjien")
        Case 48: langue = Array("Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai", "Finnois")
        Case 49: langue = Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Français")
        Case 50: langue = Array("Dûemoinne", "Yundi", "Maîdgi", "Métieudgi", "Djûdi", "Vardi", "Sainm’di", "Franc-comtois")
        Case 51: langue = Array("Domenie", "Lunis", "Martars", "Miercus", "Joibe", "Vinars", "Sàbide", "Frioulan")
        Case 52: langue = Array("Sennedei", "Monnendei", "Tirsdei", "Winsdei", "Türsdei", "Frideisennin", "Sennin", "Frisien (Nord)")
        Case 53: langue = Array("Sundai", "Moundai", "Täisdai", "Midwiek", "Tuunsdai", "Fräindai", "Snäiwende", "Frisien (Saterland)")
        Case 54: langue = Array("Snein", "Moandei", "Tiisdei", "Woansdei", "Tongersdei", "Freed", "Sneon", "Frisien (Ouest)")
        Case 55: langue = Array("Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado", "Galicien", 0)
        Case 56: langue = Array("Dydd Sul", "Dydd Llun", "Dydd Mawrth", "Dydd Mercher", "Dydd Iau", "Dydd Gwener", "Dydd Sadwrn", "Gallois")
        Case 57: langue = Array(ChrW(4313) & ChrW(4309) & ChrW(4312) & ChrW(4320) & ChrW(4304), _
                                ChrW(4317) & ChrW(4320) & ChrW(4328) & ChrW(4304) & ChrW(4306) & ChrW(4304) & ChrW(4311) & ChrW(4312), _
                                ChrW(4321) & ChrW(4304) & ChrW(4315) & ChrW(4328) & ChrW(4304) & ChrW(4306) & ChrW(4304) & ChrW(4311) & ChrW(4312), _
                                ChrW(4317) & ChrW(4311) & ChrW(4334) & ChrW(4328) & ChrW(4304) & ChrW(4306) & ChrW(4304) & ChrW(4311) & ChrW(4312), _
                                ChrW(4334) & ChrW(4323) & ChrW(4311) & ChrW(4328) & ChrW(4304) & ChrW(4306) & ChrW(4304) & ChrW(4311) & ChrW(4312), _
                                ChrW(4318) & ChrW(4304) & ChrW(4320) & ChrW(4304) & ChrW(4321) & ChrW(4313) & ChrW(4308) & ChrW(4309) & ChrW(4312), _
                                ChrW(4328) & ChrW(4304) & ChrW(4306) & ChrW(4304) & ChrW(4311) & ChrW(4312), "Géorgien")
        Case 58: langue = Array(ChrW(922) & ChrW(965) & ChrW(961) & ChrW(953) & ChrW(945) & ChrW(954) & ChrW(942), _
                                ChrW(916) & ChrW(949) & ChrW(965) & ChrW(964) & ChrW(941) & ChrW(961) & ChrW(945), _
                                ChrW(932) & ChrW(961) & ChrW(943) & ChrW(964) & ChrW(951), _
                                ChrW(932) & ChrW(949) & ChrW(964) & ChrW(940) & ChrW(961) & ChrW(964) & ChrW(951), _
                                ChrW(928) & ChrW(941) & ChrW(956) & ChrW(960) & ChrW(964) & ChrW(951), _
                                ChrW(928) & ChrW(945) & ChrW(961) & ChrW(945) & ChrW(963) & ChrW(954) & ChrW(949) & ChrW(965) & ChrW(942), _
                                ChrW(931) & ChrW(940) & ChrW(946) & ChrW(946) & ChrW(945) & ChrW(964) & ChrW(959), "Grec")
        Case 59: langue = Array("Sapaat", "Ataasinngorneq", "Marlunngorneq", "Pingasunngorneq", "Sisamanngorneq", "Tallimanngorneq", "Arfininngorneq", "Groenlandais")
        Case 60: langue = Array("Zundag", "Moandag", "Dingsdag", "Wonsdag", "Dunderdag", "Vraaidag", "Zoaterdag", "Groningois")
        Case 61: langue = Array("Arateî", "Arakôi", "Araapy", "Ararundy", "Arapo", "Arapoteî", "Arapokôi", "Guaraní")
        Case 62: langue = Array("Dinmanche", "Lundi", "Mardi", "Méquerdi", "Jeudi", "Venderdi", "Samedi", "Guernésiais")
        Case 63: langue = Array("Lahadi", "Litinin", "Talata", "Laraba", "Alhamis", "Juma'a", "Asabar", "Hausa")
        Case 64: langue = Array("Lapule", "Po'akahi", "Po'alua", "Po'akolu", "Po'aha", "Po'alima", "Po'aono", "Hawaiien")
        Case 65: langue = Array(ChrW(1497) & ChrW(1493) & ChrW(1501) & " " & ChrW(1512) & ChrW(1488) & ChrW(1513) & ChrW(1493) & ChrW(1503), _
                                ChrW(1497) & ChrW(1493) & ChrW(1501) & " " & ChrW(1513) & ChrW(1504) & ChrW(1497), _
                                ChrW(1497) & ChrW(1493) & ChrW(1501) & " " & ChrW(1513) & ChrW(1500) & ChrW(1497) & ChrW(1513) & ChrW(1497), _
                                ChrW(1497) & ChrW(1493) & ChrW(1501) & " " & ChrW(1512) & ChrW(1489) & ChrW(1497) & ChrW(1506) & ChrW(1497), _
                                ChrW(1497) & ChrW(1493) & ChrW(1501) & " " & ChrW(1514) & ChrW(1502) & ChrW(1497) & ChrW(1513) & ChrW(1497), _
                                ChrW(1497) & ChrW(1493) & ChrW(1501) & " " & ChrW(1513) & ChrW(1497) & ChrW(1513) & ChrW(1497), _
                                ChrW(1497) & ChrW(1493) & ChrW(1501) & " " & ChrW(1513) & ChrW(1489) & ChrW(1514), "Hébreu")
        Case 66: langue = Array("Vasárnap", "Hétf" & ChrW(337), "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Hongrois")
        Case 67: langue = Array("Sundio", "Lundio", "Mardio", "Merkurdio", "Jovdio", "Venerdio", "Saturdio", "Ido " & ChrW(9775))
        Case 68: langue = Array("Sapaat", "Ataasinngorneq", "Marlunngorneq", "Pingasunngorneq", "Sisamanngorneq", "Tallimanngorneq", "Arfininngorneq", "Inuit")
        Case 69: langue = Array("Dé Domhnaigh", "Dé Luan", "Dé Mairt", "Dé Céadaoin", "Déardaoin", "Dé h-Aoine", "Dé Sathairn", "Irlandais (Gaélique)")
        Case 70: langue = Array("Dominique", "Lundi", "Mardi", "Mercuridi", "Jovedi", "Vendredi", "Sabbato", "Interlingua " & ChrW(9775))
        Case 71: langue = Array("Sunnudagur", "Mánudagur", ChrW(222) & "ri" & ChrW(240) & "judagur", "Mi" & ChrW(240) & "vikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Islandais")
        Case 72: langue = Array("Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Italien")
        Case 73: langue = Array("Nichiyôbi", "Getsuyôbi", "Kayôbi", "Suiyôbi", "Mokuyôbi", "Kinyôbi", "Doyôbi", "Japonais")
        Case 74: langue = Array("Dînmanche", "Lundi", "Mardi", "Mêcrédi", "Jeudi", "Vendrédi", "Sanm’di", "Jersiais")
        Case 75: langue = Array("Niedzela", "Pòniedzô" & ChrW(322) & "k", "Wtórk", "Strzoda", "Czwiôrtk", "Pi" & ChrW(261) & "tk", "Sobòta", "Kachoube")
        Case 76: langue = Array("Jechkiun", "Jechbaszkiun", "Ortakiun", "Chankiun", "Kiczibaraski", "Baraski", "Szabbatkiun", "Karaïm")
        Case 77: langue = Array(ChrW(1046) & ChrW(1077) & ChrW(1082) & ChrW(1089) & ChrW(1077) & ChrW(1085) & ChrW(1073) & ChrW(1110), _
                                ChrW(1044) & ChrW(1091) & ChrW(1081) & ChrW(1089) & ChrW(1077) & ChrW(1085) & ChrW(1073) & ChrW(1110), _
                                ChrW(1057) & ChrW(1077) & ChrW(1081) & ChrW(1089) & ChrW(1077) & ChrW(1085) & ChrW(1073) & ChrW(1110), _
                                ChrW(1057) & ChrW(1241) & ChrW(1088) & ChrW(1089) & ChrW(1077) & ChrW(1085) & ChrW(1073) & ChrW(1110), _
                                ChrW(1041) & ChrW(1077) & ChrW(1081) & ChrW(1089) & ChrW(1077) & ChrW(1085) & ChrW(1073) & ChrW(1110), _
                                ChrW(1046) & ChrW(1201) & ChrW(1081) & ChrW(1072), _
                                ChrW(1057) & ChrW(1077) & ChrW(1085) & ChrW(1073) & ChrW(1110), "Kazakh")
        Case 78: langue = Array("Sontaxtses hû" & ChrW(&H1C1) & "îtses", "Mantaxtses " & ChrW(&H1C2) & "gurotses", "Denstaxtses " & ChrW(&H1C0) & "gam" & ChrW(&H1C0) & "îtses", _
                                "Wunstaxtses !nona" & ChrW(&H1C1) & "îtses", "Donertaxtses haka" & ChrW(&H1C1) & "îtses", "Fraitaxtse koro" & ChrW(&H1C1) & "îtses", _
                                "Satertaxtses !nani" & ChrW(&H1C1) & "îtses", "Khoïkhoï")
        Case 79: langue = Array(ChrW(1046) & ChrW(1077) & ChrW(1082) & ChrW(1096) & ChrW(1077) & ChrW(1084) & ChrW(1073) & ChrW(1080), _
                                ChrW(1044) & ChrW(1199) & ChrW(1096) & ChrW(&H4E9) & ChrW(1084) & ChrW(1073) & ChrW(1199), _
                                ChrW(1064) & ChrW(1077) & ChrW(1081) & ChrW(1096) & ChrW(1077) & ChrW(1084) & ChrW(1073) & ChrW(1080), _
                                ChrW(1064) & ChrW(1072) & ChrW(1088) & ChrW(1096) & ChrW(1077) & ChrW(1084) & ChrW(1073) & ChrW(1080), _
                                ChrW(1041) & ChrW(1077) & ChrW(1081) & ChrW(1096) & ChrW(1077) & ChrW(1084) & ChrW(1073) & ChrW(1080), _
                                ChrW(1046) & ChrW(1091) & ChrW(1084) & ChrW(1072), _
                                ChrW(1048) & ChrW(1096) & ChrW(1077) & ChrW(1084) & ChrW(1073) & ChrW(1080), "Kirghize")
        Case 80: langue = Array("Kuwamungu", "Kuwambwere", "Kuwakabiri", "Kuwagatatu", "Kuwakane", "Kuwagatanu", "Kuwagatandatu", "Kirundi")
        Case 81: langue = Array("N" & ChrW(477) & "má sk" & ChrW(&H2B7) & "á" & ChrW(269) & "i", "S" & ChrW(269) & "i" & ChrW(660) & "ik" & ChrW(&H2B7) & ChrW(620) & "nát", _
                                "Sc" & ChrW(477) & ChrW(331) & ChrW(477) & "nát", "S" & ChrW(620) & "x" & ChrW(&H2B7) & ChrW(620) & "nát", "S" & ChrW(331) & ChrW(477) & "s" & ChrW(620) & "nát", _
                                "S" & ChrW(331) & "q'" & ChrW(269) & ChrW(353) & ChrW(620) & "nát", "Q'" & ChrW(477) & "m'" & ChrW(660) & ChrW(477) + ChrW(&H301) & "t" & ChrW(477) & ChrW(331), "Klallam")
        Case 82: langue = Array("Yek" & ChrW(&H15F) & "emme", "Dû" & ChrW(&H15F) & "emme", "Sê" & ChrW(&H15F) & "emme", "Çiwar" & ChrW(&H15F) & "emme", "Pênc" & ChrW(&H15F) & "emme", "Heynî", ChrW(&H15E) & "emme", "Kurde (Soranî)")
        Case 83: langue = Array(ChrW(1040) & ChrW(1083) & ChrW(1093) & ChrW(1231) & ChrW(1072) & ChrW(1090), _
                                ChrW(1048) & ChrW(1090) & ChrW(1085) & ChrW(1080), _
                                ChrW(1058) & ChrW(1090) & ChrW(1072) & ChrW(1083) & ChrW(1072) & ChrW(1090), _
                                ChrW(1040) & ChrW(1088) & ChrW(1074) & ChrW(1072) & ChrW(1093) & ChrW(1231), _
                                ChrW(1061) & ChrW(1072) & ChrW(1084) & ChrW(1080) & ChrW(1089), _
                                ChrW(1053) & ChrW(1102) & ChrW(1078) & ChrW(1084) & ChrW(1072) & ChrW(1088), _
                                ChrW(1061) & ChrW(1093) & ChrW(1091) & ChrW(1083) & ChrW(1083) & ChrW(1091) & ChrW(1085), "Lak")
        Case 84: langue = Array("A" & ChrW(331) & "pétu wak" & ChrW(543) & "á" & ChrW(331), "A" & ChrW(331) & "pétu t" & ChrW(543) & "okáhe", "A" & ChrW(331) & "pétu nú" & ChrW(331) & "pa", _
                                "A" & ChrW(331) & "pétu yámni", "A" & ChrW(331) & "pétu tópa", "A" & ChrW(331) & "pétu zápta" & ChrW(331), _
                                "Owá" & ChrW(331) & "gyu" & ChrW(382) & "a" & ChrW(382) & "api", "Lakota")
        Case 85: langue = Array("Di" & ChrW(275) & "s solis", "Di" & ChrW(275) & "s l" & ChrW(363) & "nae", "Di" & ChrW(275) & "s martis", "Di" & ChrW(275) & "s mercur" & ChrW(299), _
                                "Di" & ChrW(275) & "s iovis", "Di" & ChrW(275) & "s veneris", "Di" & ChrW(275) & "s saturn" & ChrW(299), "Latin")
        Case 86: langue = Array("Dominica", "Secunda feria", "Tertia feria", "Quarta feria", "Quinta feria", "Sexta feria", "Sabbatum", "Latin (Curé)")
        Case 87: langue = Array("Dominicus", "Lun" & ChrW(230) & " dies", "Martis dies", "Mercurii dies", "Iovis dies", "Veneris dies", "Sabbatum", "Latin (POP)")
        Case 88: langue = Array("Sv" & ChrW(275) & "tdiena", "Pirmdiena", "Otrdiena", "Tre" & ChrW(353) & "diena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Latvian")
        Case 89: langue = Array("Sv" & ChrW(275) & "tdiena", "Pirmdiena", "Otrdiena", "Tre" & ChrW(353) & "diena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Letton")
        Case 90: langue = Array("Duménnega", "Lûnedí", "Martedí", "Merculedí", "Zœggia", "Venardí", "Sabbu", "Ligurien")
        Case 91: langue = Array("Zóndig", "Maondig", "Daensdig", "Goonsdig", "Dónderdig", "Vriedig", "Zaoterdig", "Limbourgeois")
        Case 92: langue = Array("Argent", "Lundi", "Mardi", "Mercurdi", "Jovedi", "Vendredi", "Saturdi", "Lingua franca nova " & ChrW(9775))
        Case 93: langue = Array("Lomíngo", "Mok" & ChrW(&H254) & "l" & ChrW(&H254) & " ya libosó", "Mok" & ChrW(&H254) & "l" & ChrW(&H254) & " ya míbalé", _
                                "Mok" & ChrW(&H254) & "l" & ChrW(&H254) & " ya mísáto", "Mok" & ChrW(&H254) & "l" & ChrW(&H254) & " ya mínéi", _
                                "Mok" & ChrW(&H254) & "l" & ChrW(&H254) & " ya mítáno", "Mp" & ChrW(&H254) + ChrW(&H301) & "s" & ChrW(&H254), "Lingala")
        Case 94: langue = Array("Sekmadienis", "Pirmadienis", "Antradienis", "Tre" & ChrW(269) & "iadienis", "Ketvirtadienis", "Penktadienis", ChrW(352) & "e" & ChrW(353) & "tadienis", "Lituanien")
        Case 95: langue = Array("Piv" & ChrW(257) & "p" & ChrW(479) & "va", "E" & ChrW(382) & ChrW(382) & ChrW(245) & "mp" & ChrW(479) & "va", "Tuoiznap" & ChrW(479) & "va", _
                                "Kuolm" & ChrW(245) & "ndp" & ChrW(479) & "va", "Ne" & ChrW(316) & ChrW(316) & ChrW(245) & "ndp" & ChrW(479) & "va", _
                                "Br" & ChrW(275) & ChrW(263) & "ig", "P" & ChrW(363) & "olp" & ChrW(479) & "va", "Livonien")
        Case 96: langue = Array("Ssande", "Olwokusooka", "Olwokubiri", "Olwokusatu", "Olwokuna", "Olwokutaano", "Olwomukaaga", "Luganda")
        Case 97: langue = Array("Sonndeg", "Méindeg", "Dënschdeg", "Mëttwoch", "Donneschdeg", "Freideg", "Samschdeg", "Luxembourgeois")
        Case 98: langue = Array("Il-" & ChrW(295) & "add", "It-tnejn", "It-tlieta", "L-erbg" & ChrW(295) & "a", "Il-" & ChrW(295) & "amis", "Il-" & ChrW(289) & "img" & ChrW(295) & "a", "Is-sibt", "Maltais")
        Case 99: langue = Array("Nedela", "Ponedelnik", "Vtornik", "Sreda", "Chetvrtok", "Petok", "Sabota", "Macédonien")
        Case 100: langue = Array("Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Malais")
        Case 101: langue = Array("Alahady", "Alatsinainy", "Talata", "Alarobia", "Alakamisy", "Zoma", "Sabotsy", "Malgache")
        Case 102: langue = Array("Jedoonee", "Jelhune", "Jemayrt", "Jecrean", "Jerdein", "Jeheiney", "Jesarn", "Manxois")
        Case 103: langue = Array("R" & ChrW(257) & "tapu", "R" & ChrW(257) & "hine", "R" & ChrW(257) & "t" & ChrW(363), "R" & ChrW(257) & "apa", "R" & ChrW(257) & "pare", "R" & ChrW(257) & "mere", _
                                "R" & ChrW(257) & "horoi", "Maori")
        Case 104: langue = Array("Domingku", "Lune", "Marte", "Myerkole", "Kwefe", "Fyerne", "Safado", "Mapuche")
        Case 105: langue = Array("J" & ChrW(257) & "dede", "Jab" & ChrW(333) & "t", "M" & ChrW(&H327) & "ande", "Juje", "W" & ChrW(333) & "nje", "Taije", "B" & ChrW(333) & "raide", "Marshallais")
        Case 106: langue = Array("Aqantie'umg", "Elugutimg", "Ta'puowei", "Si'stewei", "Ne'wowei", "Weltamultimg", "Gesp'teg", "Micmac")
        Case 107: langue = Array("Dumenëga", "Lünesdi", "Metesdi", "Mercuredi", "Zœgia", "Venardi", "Sabu", "Monégasque")
        Case 108: langue = Array(ChrW(1053) & ChrW(1103) & ChrW(1084), _
                                 ChrW(1044) & ChrW(1072) & ChrW(1074) & ChrW(1072) & ChrW(1072), _
                                 ChrW(1052) & ChrW(1103) & ChrW(1075) & ChrW(1084) & ChrW(1072) & ChrW(1088), _
                                 ChrW(1051) & ChrW(1093) & ChrW(1072) & ChrW(1075) & ChrW(1074) & ChrW(1072), _
                                 ChrW(1055) & ChrW(1199) & ChrW(1088) & ChrW(1101) & ChrW(1074), _
                                 ChrW(1041) & ChrW(1072) & ChrW(1072) & ChrW(1089) & ChrW(1072) & ChrW(1085), _
                                 ChrW(1041) & ChrW(1103) & ChrW(1084) & ChrW(1073) & ChrW(1072), "Mongol")
        Case 109: langue = Array("Tonatiuhtonal", "Metztlitonal", "Huitzilopochtonal", "Yacatlipotonal", "Tezcatlipotonal", "Quetzalcoatonal", "Tlaloctitonal", "Nahuatl")
        Case 110: langue = Array("Dummeneca", "Lunnerì", "Marterì", "Miercurì", "Gioverì", "Viernarì", "Sàbbato", "Napolitain")
        Case 111: langue = Array("uSonto", "uMvulo", "uLesibili", "uLesithathu", "uLesine", "uLesihlanu", "uMgqibelo", "Ndebele du Sud")
        Case 112: langue = Array("Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Néerlandais")
        Case 113: langue = Array("Dîmmaunche", "Lundi", "Mardi", "Mercrédi", "Jéeudi", "Vendrédi", "Sammedi", "Normand")
        Case 114: langue = Array("Sunnudagr", "Mánadagr", "Týsdagr", ChrW(211) & ChrW(240) & "insdagr", ChrW(222) & ChrW(243) & "rsdagr", "Fr" & ChrW(225) & "dagr", "Laugardagr", "Norrois")
        Case 115: langue = Array("S" & ChrW(248) & "ndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "L" & ChrW(248) & "rdag", "Norvégien Bokm" & ChrW(229) & "l")
        Case 116: langue = Array("Sundag", "M" & ChrW(229) & "ndag", "Tysdag", "Onsdag", "Torsdag", "Fredag", "laurdag", "Norvégien Nynorsk")
        Case 117: langue = Array("Sundie", "Lundie", "Mardie", "Merkurdie", "Jodie", "Venerdie", "Saturdie", "Novial " & ChrW(9775))
        Case 118: langue = Array("Dimenge", "Diluns", "Dimars", "Dimècres", "Dijóus", "Divendres", "Dissabte", "Occitan")
        Case 119: langue = Array("Dilbata", "Wiixata", "Qibxata", "Roobii", "Kamiisa", "Jimaata", "Sanbata", "Oromo")
        Case 120: langue = Array("Domingo", "Lunes", "Martes", "Miercules", "Huebes", "Biernes", "Sabado", "Pampangue")
        Case 121: langue = Array("Djadomingo", "Djaluna", "Djamars", "Djarason", "Djaweps", "Djabièrna", "Djasabra", "Papiamento")
        Case 122: langue = Array("Dimenche", "Léndi", "Mardi", "Mécrdi", "Jheùdi", "Vendrdi", "Sémedi", "Poitevin")
        Case 123: langue = Array("Niedziela", "Poniedzia" & ChrW(322) & "ek", "Wtorek", ChrW(346) & "roda", "Czwartek", "Pi" & ChrW(261) & "tek", "Sobota", "Polonais")
        Case 124: langue = Array("Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado", "Portugais")
        Case 125: langue = Array("Dewo", "Aa" & ChrW(595) & "nde", "Mawbaare", "Njeslaare", "Naasaande", "Mawnde", "Hoore-Biir", "Poular")
        Case 126: langue = Array("Dimanche", "Dilun", "Dimars", "Dimècre", "Dijoù", "Divèndre", "Dissate", "Provençal")
        Case 127: langue = Array("Nadîli", "Punadîli", "Wisasîdis", "Pussisawaiti", "Ketwirtiks", "P" & ChrW(275) & "ntniks", "Sabattika", "Prussien")
        Case 128: langue = Array("Intichaw", "Killachaw", "Atichaw", "Quyllurchaw", "Illapachaw", "Ch'askachaw", "K'uychichaw", "Quechua")
        Case 129: langue = Array("Ra" & ChrW(&H2BB) & ChrW(257) & " p" & ChrW(333) & " hitu", "Ra" & ChrW(&H2BB) & ChrW(257) & " p" & ChrW(333) & " tahi", "Ra" & ChrW(&H2BB) & ChrW(257) & " p" & ChrW(333) & " rua", _
                                 "Ra" & ChrW(&H2BB) & ChrW(257) & " p" & ChrW(333) & " toru", "Ra" & ChrW(&H2BB) & ChrW(257) & " p" & ChrW(333) & " h", "Ra" & ChrW(&H2BB) & ChrW(257) & " p" & ChrW(333) & " rima", _
                                 "Ra" & ChrW(&H2BB) & ChrW(257) & " p" & ChrW(333) & " ono", "Rapanui")
        Case 130: langue = Array("Duminic" & ChrW(259), "Luni", "Mar" & ChrW(355) & "ì", "Miercuri", "Joi", "Vineri", "S" & ChrW(259) & "pt" & ChrW(259) & "mân" & ChrW(259), "Roumain")
        Case 131: langue = Array(ChrW(1042) & ChrW(1086) & ChrW(1089) & ChrW(1082) & ChrW(1088) & ChrW(1077) & ChrW(1089) & ChrW(1077) & ChrW(1085) & ChrW(1100) & ChrW(1077), _
                                 ChrW(1055) & ChrW(1086) & ChrW(1085) & ChrW(1077) & ChrW(1076) & ChrW(1100) & ChrW(1085) & ChrW(1080) & ChrW(1082), _
                                 ChrW(1042) & ChrW(1090) & ChrW(1086) & ChrW(1088) & ChrW(1085) & ChrW(1080) & ChrW(1082), _
                                 ChrW(1057) & ChrW(1088) & ChrW(1077) & ChrW(1076) & ChrW(1072), _
                                 ChrW(1063) & ChrW(1077) & ChrW(1090) & ChrW(1074) & ChrW(1077) & ChrW(1088) & ChrW(1075), _
                                 ChrW(1055) & ChrW(1103) & ChrW(1090) & ChrW(1085) & ChrW(1080) & ChrW(1094) & ChrW(1072), _
                                 ChrW(1057) & ChrW(1091) & ChrW(1073) & ChrW(1073) & ChrW(1086) & ChrW(1090) & ChrW(1072), "Russe")
        Case 132: langue = Array(ChrW(&H58) + ChrW(&H323) & "e" & ChrW(660) & ChrW(&H78) + ChrW(&H323) & ChrW(477) & ChrW(660) & ChrW(620) & "net", _
                                 "S" & ChrW(269) & ChrW(477) & "l" & " " & ChrW(&H313) & "k" & ChrW(&H2B7) & ChrW(620) & "net", "S" & ChrW(&H3B8) & ChrW(477) & ChrW(331) & "nets", _
                                 "S" & ChrW(620) & "ix" & ChrW(&H2B7) & "s", "S" & ChrW(331) & "ass", "S" & ChrW(620) & "q'e" & ChrW(660) & ChrW(269) & ChrW(477) & "ss", _
                                 "Q'" & ChrW(477) + ChrW(&H301) & "m'" & ChrW(477) & "t" & ChrW(477) & ChrW(331), "Saanich")
        Case 133: langue = Array("S" & ChrW(229) & "dn" & ChrW(229) & "biejvve", "Lávvodahka", "Mánnodahkaa", "Dijstahka", "Gasskavahkkoò", "Duorastahka", "Bierjjedahka", "Same (de Lule)")
        Case 134: langue = Array("Sotnabeaivi", "Vuossárga", "Ma" & ChrW(331) & ChrW(331) & "ebárga", "Gaskavahkku", "Duorastat", "Bearjadat", "Lávvardat", "Same (du Nord)")
        Case 135: langue = Array(ChrW(198) & "jlege", "Maanta", "Dæjsta", "Gaskev" & ChrW(229) & "hkoe", "Duarsta", "Bearjadahke", "Laavvardahke", "Same (du Sud)")
        Case 136: langue = Array("Pasepeivi", "Vuossargâ", "Majebargâ", "Koskokko", "Tuorâstâh", "Vástuppeivi", "Lávárdâh", "Same (Inari)")
        Case 137: langue = Array("Pâ'sspei'vv", "Vu" & ChrW(&HF5) & "ssargg", "Mââi'bargg", "Seärad", "Nelljdpei'vv", "Piâtnâc", "Sue'vet", "Same (Skolt)")
        Case 138: langue = Array("Aso S" & ChrW(257), "Aso Gafua", "Aso Lua", "Aso Lulu", "Aso Tofi", "Aso Faraile", "Aso To’ona’i", "Samoan")
        Case 139: langue = Array("Nediel" & ChrW(279) & "s d" & ChrW(279) & "ina", "Panedielis", "Oterninks", "Sereda", "Ketvergs", "Perdreau", "Sobata", "Samogitien")
        Case 140: langue = Array("Lâyenga", "Bïkua-ôko", "Bïkua-ûse", "Bïkua-otâ", "Bïkua-usïö", "Bïkua-okü", "Lâpôso", "Sängö")
        Case 141: langue = Array("Dumíniga", "Lunis", "Martis", "Mèrcuris", "Giòvia", "Chenàbura", "Sàbadu", "Sarde")
        Case 142: langue = Array("Sunday", "Monanday", "Tysday", "Wadensday", "Fuirsday", "Friday", "Seturday", "Scots")
        Case 143: langue = Array("Sontaga", "Mosupalogo", "Labobedi", "Laboraro", "Labone", "Labohlano", "Mokibelo", "Sepedi")
        Case 144: langue = Array(ChrW(1053) & ChrW(1077) & ChrW(1076) & ChrW(1077) & ChrW(1114) & ChrW(1072), _
                                 ChrW(1055) & ChrW(1086) & ChrW(1085) & ChrW(1077) & ChrW(1076) & ChrW(1077) & ChrW(1114) & ChrW(1072) & ChrW(1082), _
                                 ChrW(1059) & ChrW(1090) & ChrW(1086) & ChrW(1088) & ChrW(1072) & ChrW(1082), _
                                 ChrW(1057) & ChrW(1088) & ChrW(1077) & ChrW(1076) & ChrW(1072), _
                                 ChrW(1063) & ChrW(1077) & ChrW(1090) & ChrW(1074) & ChrW(1088) & ChrW(1090) & ChrW(1072) & ChrW(1082), _
                                 ChrW(1055) & ChrW(1077) & ChrW(&H442) & ChrW(1072) & ChrW(1082), _
                                 ChrW(1057) & ChrW(1091) & ChrW(1073) & ChrW(1086) & ChrW(1090) & ChrW(1072), "Serbo-Croate")
        Case 145: langue = Array("D" & ChrW(297) & "m" & ChrW(227) & "ch", "L" & ChrW(369) & "di", "Mardi", "Mekrëdi", "Djödi", "V" & ChrW(227) & "drëdi", "Samdi", "Sercquiais")
        Case 146: langue = Array("Sontaha", "Mantaha", "Labobedi", "Laboraro", "Labone", "Labohlano", "Moqebelo", "Sesotho")
        Case 147: langue = Array("Svondo", "Muvhuro", "Chipiri", "Chitatu", "China", "Chishanu", "Mugobera", "Shona")
        Case 148: langue = Array("Nede" & ChrW(318) & "a", "Pondelok", "Utorok", "Streda", ChrW(352) & "tvrtok", "Piatok", "Sobota", "Slovaque")
        Case 149: langue = Array("Nedelja", "Ponedeljek", "Torek", "Sreda", ChrW(268) & "etrtek", "Petek", "Sobota", "Slovène")
        Case 150: langue = Array("Axad", "Isniin", "Salaaso", "Arbaco", "Khamiis", "Jimco", "Sabti", "Somali")
        Case 151: langue = Array("Alhadoo", "Atinno", "Atalaata", "Alarba", "Alhamiisa", "Alzumaa", "Asibtoo", "Songhaï")
        Case 152: langue = Array("Njed" & ChrW(378) & "ela", "P" & ChrW(243) & "nd" & ChrW(378) & "ela", "Wutora", "Srjeda", ChrW(352) & "tw" & ChrW(243) & "rtk", "Pjatk", "Sobota", "Sorbian")
        Case 153: langue = Array("Söndag", "M" & ChrW(229) & "ndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Suédois")
        Case 154: langue = Array("Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Swahili")
        Case 155: langue = Array("Linggo", "Lunes", "Martes", "Miyerkoles", "Huwebes", "Biyernes", "Sabado", "Tagalog")
        Case 156: langue = Array("T" & ChrW(257) & "pati", "Monir" & ChrW(275), "Mahana Piti", "Mahana Toru", "Mahana Maha", "Mahana Pae", "Mahana M" & ChrW(257) & "'a", "Tahitien")
        Case 157: langue = Array(ChrW(1071) & ChrW(1082) & ChrW(1096) & ChrW(1072) & ChrW(1085) & ChrW(1073) & ChrW(1077), _
                                 ChrW(1044) & ChrW(1091) & ChrW(1096) & ChrW(1072) & ChrW(1085) & ChrW(1073) & ChrW(1077), _
                                 ChrW(1057) & ChrW(1077) & ChrW(1096) & ChrW(1072) & ChrW(1085) & ChrW(1073) & ChrW(1077), _
                                 ChrW(1063) & ChrW(1086) & ChrW(1088) & ChrW(1096) & ChrW(1072) & ChrW(1085) & ChrW(1073) & ChrW(1077), _
                                 ChrW(1055) & ChrW(1072) & ChrW(1085) & ChrW(1095) & ChrW(1096) & ChrW(1072) & ChrW(1085) & ChrW(1073) & ChrW(1077), _
                                 ChrW(1063) & ChrW(1091) & ChrW(1084) & ChrW(1098) & ChrW(1072), _
                                 ChrW(1064) & ChrW(1072) & ChrW(1085) & ChrW(1073) & ChrW(1077), "Tajik")
        Case 158: langue = Array("Ned" & ChrW(283) & "le", "Pond" & ChrW(283) & "lí", "Úterý", "St" & ChrW(345) & "da", ChrW(268) & "tvrtek", "Pátek", "Sobota", "Tchèque")
        Case 159: langue = Array("Domingu", "Segunda", "Tersa", "Kuarta", "Kinta", "Sesta", "Sábadu", "Tétoum")
        Case 160: langue = Array(ChrW(1050) & ChrW(1231) & ChrW(1080) & ChrW(1088) & ChrW(1072) & ChrW(1085) & ChrW(1076) & ChrW(1077), _
                                 ChrW(1054) & ChrW(1088) & ChrW(1096) & ChrW(1088) & ChrW(1090), _
                                 ChrW(1064) & ChrW(1080) & ChrW(1085) & ChrW(1072) & ChrW(1088) & ChrW(1072), _
                                 ChrW(1050) & ChrW(1093) & ChrW(1072) & ChrW(1072) & ChrW(1088) & ChrW(1072), _
                                 ChrW(1045) & ChrW(1072) & ChrW(1088) & ChrW(1072), _
                                 ChrW(1055) & ChrW(1231) & ChrW(1077) & ChrW(1088) & ChrW(1072) & ChrW(1089) & ChrW(1082) & ChrW(1072), _
                                 ChrW(1064) & ChrW(1086) & ChrW(1090), "Tchétchène")
        Case 161: langue = Array(ChrW(&H12A5) & ChrW(&H1272) & " " & ChrW(&H1230) & ChrW(&H1295) & ChrW(&H1260) & ChrW(&H1275), _
                                 ChrW(&H12A5) & ChrW(&H1272) & " " & ChrW(&H1230) & ChrW(&H1291) & ChrW(&H12ED), _
                                 ChrW(&H12A5) & ChrW(&H1272) & " " & ChrW(&H1230) & ChrW(&H1209) & ChrW(&H1235), _
                                 ChrW(&H12A5) & ChrW(&H1272) & " " & ChrW(&H1228) & ChrW(&H1261) & ChrW(&H12D5), _
                                 ChrW(&H12A5) & ChrW(&H1272) & " " & ChrW(&H1210) & ChrW(&H1219) & ChrW(&H1230), _
                                 ChrW(&H12A5) & ChrW(&H1272) & " " & ChrW(&H12D3) & ChrW(&H122D) & ChrW(&H1265), _
                                 ChrW(&H12A5) & ChrW(&H1272) & " " & ChrW(&H1245) & ChrW(&H12F3) & ChrW(&H121C), "Tigrinya")
        Case 162: langue = Array("Sande", "Mande", "Tunde", "Trinde", "Fonde", "Fraide", "Sarere", "Tok Pisin")
        Case 163: langue = Array("Sapate", "Monite", "Tusite", "Pulelulu", "Tu'apulelulu", "Falaite", "Tokonaki", "Tongien")
        Case 164: langue = Array("Sonto", "Musumbhunuku", "Ravumbirhi", "Ravunharhu", "Ravumune", "Ravuntlhanu", "Mugqivela", "Tsonga")
        Case 165: langue = Array("Pazar", "Pazartesi", "Sali", ChrW(199) & "ar" & ChrW(351) & "amba", "Per" & ChrW(351) & "embe", "Cuma", "Cumartesi", "Turc")
        Case 166: langue = Array("Aso S" & ChrW(257), "Aso Gafua", "Aso Lua", "Aso Tolu", "Aso F" & ChrW(257), "Aso Lima", "Aso Ono", "Tuvaluan")
        Case 167: langue = Array(ChrW(1053) & ChrW(1077) & ChrW(1076) & ChrW(1110) & ChrW(1083) & ChrW(1103), _
                                 ChrW(1055) & ChrW(1086) & ChrW(1085) & ChrW(1077) & ChrW(1076) & ChrW(1110) & ChrW(1083) & ChrW(1086) & ChrW(1082), _
                                 ChrW(1042) & ChrW(1110) & ChrW(1074) & ChrW(1090) & ChrW(1086) & ChrW(1088) & ChrW(1086) & ChrW(1082), _
                                 ChrW(1057) & ChrW(1077) & ChrW(1088) & ChrW(1077) & ChrW(1076) & ChrW(1072), _
                                 ChrW(1063) & ChrW(1077) & ChrW(1090) & ChrW(1074) & ChrW(1077) & ChrW(1088), _
                                 ChrW(1055) & "'" & ChrW(1103) & ChrW(1090) & ChrW(1085) & ChrW(1080) & ChrW(1094) & ChrW(1103), _
                                 ChrW(1057) & ChrW(1091) & ChrW(1073) & ChrW(1086) & ChrW(1090) & ChrW(1072), "Ukrainien")
        Case 168: langue = Array("Soldia", "Lundia", "Mardia", "Mididia", "Zusdia", "Wendia", "Sabadia", "Uropi " & ChrW(9775))
        Case 169: langue = Array("Swondaha", "Musumbuluwo", ChrW(7740) & "avhuvhili", ChrW(7740) & "avhuraru", ChrW(7740) & "avhu" & ChrW(7755) & "a", ChrW(7740) & "avhutanu", "Mugivhela", "Venda")
        Case 170: langue = Array("Domieniek", ChrW(321) & "y" & ChrW(324) & "dzej", "Mardzej", "Mrzekierdzej", "Jódzej", "Wnierdzej", "Sobota", "Venedico " & ChrW(9775))
        Case 171: langue = Array("Ch" & ChrW(7911) & " Nh" & ChrW(7853) & "t", "Th" & ChrW(7913) & " Hai", "Th" & ChrW(7913) & " Ba", "Th" & ChrW(7913) & " T" & ChrW(7921), _
                                 "Th" & ChrW(7913) & " N" & ChrW(7863) & "m", "Th" & ChrW(7913) & " Sáu", "Th" & ChrW(7913) & " B" & ChrW(7834) & "y", "Vietnamien")
        Case 172: langue = Array("Sunnudagr", "Mánadagr", "Týsdagr", "Ó" & ChrW(&HF0) & "insdagr", ChrW(222) & "órsdagr", "Frjádagr", "Laugardagr", "Vieux norrois")
        Case 173: langue = Array("Nad" & ChrW(299) & "li", "Panad" & ChrW(299) & "li", "Wisas" & ChrW(299) & "dis", "Pussisawaiti", "Ketwirtiks", "P" & ChrW(275) & "ntniks", "U" & ChrW(353) & "tiks", "Vieux prussien")
        Case 174: langue = Array("Balüdel", "Telüdel", "Kilüdel", "Folüdel", "Lulüdel", "Mälüdel", "Velüdel", "Volapük " & ChrW(9775))
        Case 175: langue = Array("Pühäpäiv", "Iispäiv", "T" & ChrW(245) & ChrW(245) & "s" & ChrW(245) & "päiv", "Kolmapäiv", "Neläpäiv", "Riidi", "Puulpäiv", "V" & ChrW(245) & "ro")
        Case 176: langue = Array(ChrW(701) & "Ahotapu", "M" & ChrW(333) & "nite", "Feliatolu", "Feliaf" & ChrW(257), "Felianima", "Feliaono", "Moeaki", "Wallisien")
        Case 177: langue = Array("Dimenge", "Londi", "M" & ChrW(229) & "rdi", "Mierkidi", "Djudi", "Vénrdi", "Semdi", "Wallon")
        Case 178: langue = Array("Dibéer", "Altiné", "Talaata", "Àllarba", "Alxemes", "Àjjuma", "Gaawu", "Wolof")
        Case 179: langue = Array("iCawe", "uMvulo", "uLwesibini", "uLwesithathu", "uLwesine", "uLwesihlanu", "uMgqibelo", "Xhosa")
        Case 180: langue = Array(ChrW(&H5D6) & ChrW(1493) & ChrW(&H5E0) & ChrW(&H5D8) & ChrW(1497) & ChrW(&H5E7), _
                                 ChrW(&H5DE) & ChrW(&HFB2F) & ChrW(&H5E0) & ChrW(&H5D8) & ChrW(1497) & ChrW(&H5E7), _
                                 ChrW(&H5D3) & ChrW(1497) & ChrW(&H5E0) & ChrW(&H5E1) & ChrW(&H5D8) & ChrW(1497) & ChrW(&H5E7), _
                                 ChrW(&H5DE) & ChrW(1497) & ChrW(&H5D8) & ChrW(1493) & ChrW(1493) & ChrW(&HFB2F) & ChrW(&H5DA), _
                                 ChrW(&H5D3) & ChrW(&HFB2F) & ChrW(&H5E0) & ChrW(&H5E2) & ChrW(&H5E8) & ChrW(&H5E9) & ChrW(&H5D8) & ChrW(1497) & ChrW(&H5E7), _
                                 ChrW(&HFB4E) & ChrW(&H5E8) & ChrW(&HFB1F) & ChrW(&H5D8) & ChrW(1497) & ChrW(&H5E7), _
                                 ChrW(&H5E9) & ChrW(&H5D1) & ChrW(&H5EA), "Yiddsh")
        Case 181: langue = Array("Alhadi", "Atinni", "Atalata", "Alarba", "Alamisi", "Alzuma", "Asibiti", "Zarma")
        Case 182: langue = Array("Yew" & ChrW(&H15F) & "eme", "Di" & ChrW(&H15F) & "eme", "Sê" & ChrW(&H15F) & "eme", "Çar" & ChrW(&H15F) & "eme", "Pan" & ChrW(&H15F) & "eme", "Îne", ChrW(&H15E) & "eme", "Zazaki")
        Case 183: langue = Array("iSonto", "uMombuluko", "uLwesibili", "uLwesithathu", "uLwesine", "uLewishlanu", "uMgqibelo", "Zoulou")
        Case 184: langue = Array("Sælldé", "Lúnidé", "Mærturdé", "Mjörkridé", "Hordes", "Ýnirrdé", "Sætnidé", ChrW(&HDE) & "rjótrunn " & ChrW(9775))
'        Case 185: langue = Array("Alhadi", "Atinni", "Atalata", "Alarba", "Alamisi", "Alzuma", "Asibiti", "Zzzz")
    End Select
    'ATTENTION ! Bien actualiser la variable "NbLangues" si l'on rajoute une nouvelle langue
    NbLangues = 184  'nombre de langues répertoriées dans la fonction
   
    If transcription Then  'la langue choisie est dans un alphabet abscons
        'ATTENTION ! Chaque "Case" doit porter le même numéro que celui de la langue en alphabet ésotérique qui est latinisée
        '            Actualiser les numéros des "Case" quand on rajoute une langue qui doit être latinisée
        'Ensemble des langues en alphabets abscons qui sont latinisées
        Select Case ChxLangue
            Case 1: latinisation = Array("Amçy" & ChrW(353), "A" & ChrW(353) & ChrW(1241) & "ax’", "Aoa" & ChrW(353), "Axa" & ChrW(353), "A" & ChrW(&H1E57) & ChrW(353) & "'a" & ChrW(353), "Ax" & ChrW(1241) & "a" & ChrW(353), "Asab" & ChrW(353), "Abkhaze")
            Case 9: latinisation = Array("Ehud", "Senyo", "Maksenyo", "Voler", "Hamus", "Aarb", "Kidami", "Amharique")
            Case 13: latinisation = Array("Kiraki", "Erku" & ChrW(353) & "abt'i", "Erek'" & ChrW(353) & "abt'i", ChrW(268) & "orek" & ChrW(353) & "abt'i", "Hing" & ChrW(353) & "abt'i", "Urbat '", "Sabat '", "Arménien")
            Case 57: latinisation = Array("Kvira", "Or" & ChrW(353) & "abat'i", "Sam" & ChrW(353) & "abat'i", "Ot'x" & ChrW(353) & "abat'i", "Xut'" & ChrW(353) & "abat'i", "Paraskevi", ChrW(352) & "abat'i", "Géorgien")
            Case 58: latinisation = Array("Kyriak" & ChrW(7703), "Deytéra", "Trít" & ChrW(275), "Tetárt" & ChrW(275), "Pémpt" & ChrW(275), "Paraskey" & ChrW(7703), "Sávvato", "Grec")
            Case 65: latinisation = Array("Yôm ri'" & ChrW(353) & "ôn", "Yôm " & ChrW(353) & "enî", "Yôm " & ChrW(353) & "lî" & ChrW(353) & "î", "Yôm rvî" & ChrW(&H2BF) & "î", "Yôm hamî" & ChrW(353) & "î", "Yôm " & ChrW(353) & "i" & ChrW(353) & "î", "Yôm " & ChrW(353) & "abat", "Hébreu")
            Case 77: latinisation = Array("Zheksenbe", "Düysenbi", "Seysenbi", "Särsenbi", "Beysenbi", "Juma", "Senbi", "Kazakh")
            Case 79: latinisation = Array("Jek" & ChrW(&H219) & "embi", "Dü" & ChrW(&H219) & "ömbü", ChrW(&H218) & "ey" & ChrW(&H219) & "embi", ChrW(&H218) & "ar" & ChrW(&H219) & "embi", "Bey" & ChrW(&H219) & "embi", "Juma", "I" & ChrW(&H219) & "embi", "Kirghize")
            Case 83: latinisation = Array("Al" & ChrW(&H1E29) & "at", "Itni", "Ttalat", "Arva" & ChrW(&H1E29), "Xamis", "Nju" & ChrW(382) & "mar", "Xxullun", "Lak")
            Case 108: latinisation = Array("Nyam", "Davaa", "Myagmar", "Lkhagva", "Pürev", "Baasan", "Byamba", "Mongol")
            Case 131: latinisation = Array("Voskresen’ye", "Ponedel’nik", "Vtornik", "Sreda", "Chetverk", "Pyatnitsa", "Subbota", "Russe")
            Case 144: latinisation = Array("Nedelja", "Ponedeljak", "Utorak", "Srijeda", ChrW(268) & "etvrtak", "Petak", "Subota", "Serbo-Croate")
            Case 157: latinisation = Array("Âk" & ChrW(353) & "anbe", "Du" & ChrW(353) & "anbe", "Se" & ChrW(353) & "anbe", ChrW(268) & "or" & ChrW(353) & "anbe", "Panç" & ChrW(353) & "anbe", "Çum’a", ChrW(352) & "anbe", "Tajik")
            Case 160: latinisation = Array("K’irande", "Orshot", "Shinara", "Qaara", "Eara", "P’eraska", "Shot", "Tchétchène")
            Case 161: latinisation = Array("It" & ChrW(299) & " senibeti", "It" & ChrW(299) & " senuyi", "It" & ChrW(299) & " selusi", "It" & ChrW(299) & " rebu‘i", "It" & ChrW(299) & " " & ChrW(7717) & "amusi", "It" & ChrW(299) & " ‘arib" & ChrW(299), "It" & ChrW(299) & " k'edami", "Tigrinya")
            Case 167: latinisation = Array("Nedilya", "Ponedilok", "Vivtorok", "Sereda", "Chetver", "P'jatnycja", "Subota", "Ukrainien")
            Case 180: latinisation = Array("Zuntik", "Montik", "Dinstik", "Mitvokh", "Donershtik", "Fraytik", "Shabes", "Yiddsh")
        End Select
        On Error Resume Next                                   'sinon curieusement ça plante
        NomJourSemaineTrip = latinisation(Weekday(fecha) - 1)  'jour de la semaine latinisé (Option Base 0). Si ce n'est pas le cas --> ""
    ElseIf NbItems Then
        NomJourSemaineTrip = NbLangues                         'nombre total de langues répertoriées dans la fonction
    ElseIf NomLangue = 1 Then
        NomJourSemaineTrip = langue(7)                         'nom de la langue choisie
    ElseIf NomLangue = 2 Then
        NomJourSemaineTrip = LangueRef(Weekday(fecha) - 1)     'jour de la semaine, correspondant á la date "fecha", dans une langue compréhensible (Option Base 0)
    ElseIf NomLangue = 3 Then
        NomJourSemaineTrip = LangueRef(7)                      'nom de la langue compréhensible
    Else
        NomJourSemaineTrip = langue(Weekday(fecha) - 1)        'jour de la semaine, correspondant á la date "fecha", dans la langue choisie (Option Base 0)
    End If
   
End Function

J’ai essayé de trouver des réponses sur le Net. J’ai trouvé celle-ci
Seulement, étant sur Excel 2007, je ne vois pas comment j’aurais pu être en 64 Bytes.
Ailleurs, faisant allusion à ce problème, ils proposent de scinder la fonction en plusieurs parties, ce qui me semble au final assez compliqué.
Il y aurait-il un moyen de résoudre ce problème ?

PS : en PJ un exemple de comment j’utilise cette fonction.
 

Pièces jointes

  • Nom Jour Semaine.xlsm
    232.3 KB · Affichages: 17

soan

XLDnaute Barbatruc
Inactif
Bonsoir Magic_Doctor,

184 langues ! c'est plutôt pas mal ! 😁 t'es un sacré polyglotte !!! 😂 🤣

bon, si tu as le message "Erreur de compilation : Procédure trop longue",
tu n'as qu'une seule solution : morceler ta procédure ! 😁 😄

bon courage, et bonne chance ! 🍀

soan
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour,

Je me suis amusé à rédiger une fonction qui renvoie le nom du jour de la semaine en différentes langues.
le même sans macro avec liste des LCId's (Local code Identifiant)
1617366493908.png


1617366412715.png
 

Pièces jointes

  • Date format Local LCId.xlsx
    27.2 KB · Affichages: 10

Magic_Doctor

XLDnaute Barbatruc
Bonjour Soan, Modeste geedee,

Et oui, 184 langues... ¡La pucha, que disparate! C'est pour le fun, et néanmoins fort instructif concernant la complexité de la linguistique ansi que l'univers des alphabets rocambolesques et autres diacritiques énigmatiques. Bref, un trip linguistique. Regarde, par curiosité, la langue "Cri" (Canada), que je n'ai pu caser, c'est assez aliénigène...
C'est bien ce que j'avais compris : il faut donc tronçonner la fonction !

Le "Local code Identifiant", pourrait être une solution, mais je ne veux que le nom du jour de la semaine, et tous ces "jjjj j" ne sont, à mon goût, pas du tout esthétiques, pour ne pas dire très laids.

C'est quand même intéressant de constater qu'une fonction peut saturer, sans que ce soit forcément évident.
 

eriiic

XLDnaute Barbatruc
Bonjour,

Je suppose que tu ne veux pas mettre tes traductions dans une feuille cachée ?
Ca simplifierait considérablement, y compris les ajouts...

Tu pourrais mettre en constantes toutes les traductions non exotiques :
VB:
Const lg_FR = "Dimanche,Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Français"

Function NomJourSemaineTrip$(Optional fecha As Date, Optional ChxLangue%, Optional NomLangue As Byte, Optional NbItems As Boolean = False, Optional transcription As Boolean = False, Optional LangueBase As Byte)
'...
   Case 1: LangueRef = Split(lg_FR, ",")
Ca te fera déjà un bon paquet de caractères de gagnés.
eric

PS : je ne trouve pas laide la proposition de Modeste.
Belle et ingénieuse au contraire, même si moins fun ;)
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Le "Local code Identifiant", pourrait être une solution, mais je ne veux que le nom du jour de la semaine, et tous ces "jjjj j" ne sont, à mon goût, pas du tout esthétiques, pour ne pas dire très laids.
????
l'utilisation d'un format de nombre est maintenant :
pas esthétique et très laid :mad:

la formule peut être réduite en utilisant les paramètres des formats personnalisés
=TEXTE(Unedate ; "[$-" & dechex(LCIdDec) & "jjjj]"

LCId dec(Xhosa)=1076 (déc)
LCIDhex = 434 (hexa)

1617389819882.png
 
Dernière édition:

Magic_Doctor

XLDnaute Barbatruc
Re,

Effectivement, je ne veux utiliser aucune feuille masquée et tout mettre dans un ensemble de fonctions (puisqu’il faudra fractionner la fonction initiale pour des raisons qui continuent à m’échapper). En revanche, je ne suis pas convaincu que ça simplifierait considérablement (sauf, certes, pour les ajouts que l’on pourrait trier automatiquement par ordre alphabétique) quant à la gestion des langues en alphabets obscurs que l’on veut latiniser et, si nécessaire, diacriter. Mettre en constante les langues non exotiques, ma foi, pourquoi pas. Mais si tu regardes bien, tu te rendras compte que très peu de langues dites latinisées sont dépourvues de diacritiques bizarroïdes. Prenons pour simple exemple le « ñ » espagnol : bonne chance avec un clavier français (détestable) si tu ne connais pas le code…

Enfin, la proposition de Modeste geedee est certes ingénieuse, pratique, intéressante et fonctionnelle (une solution à retenir). Mais si tu trouves « que un montón de jotas totalmente inútiles son lindas… », c’est ton point de vue.
 

Magic_Doctor

XLDnaute Barbatruc
Re',

Je n'avais pas vu le dernier post de Modeste geedee. Ça va maintenant déjà mieux. Mais, peut-on via cette méthode obtenir ce que je voudrais ? En revanche, je me répète, c'est une solution intéressante à retenir et que je ne connaissais pas.
 

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Maintenant, ça marche !

La fonction, qui était au départ d’un seul tenant, marchait dans tous les cas très bien, tant que l’on ne dépassait pas 184 langues (ce qui est déjà beaucoup !). Au-delà ça ne marchait bizarrement plus. J’ai donc dû scinder la fonction en 3 parties (2 parties avec un maximum de 150 langues et une partie qui gère le tout), ce qui n’a pas été très difficile (la difficulté, ou plutôt le casse-tête, fut ailleurs…). J’ai pu ainsi augmenter la liste des langues sans problème.

Le projet était, somme toute, simple : réaliser une fonction qui renvoie uniquement le nom du jour de la semaine en une langue choisie dans cette même fonction. Toutes les données sont dans la fonction (il n’y a rien sur une feuille – occulte ou pas – du classeur) :
  • la liste des jours de la semaine en différentes langues, quel que soit leur alphabet ;
  • la liste des langues retranscrites (latinisées) quand la langue choisie est dans un alphabet ésotérique ;
  • la liste des jours de la semaine dans des langues de référence compréhensibles pour avoir la traduction des noms des jours de la semaine dans les autres langues tout à fait incompréhensibles la plupart du temps.
Dans un ComboBox du formulaire sont listées toutes les langues répertoriées dans la fonction (en fait, les 2 fonctions qui les contiennent). On choisit une langue de la liste, et dans une cellule individuelle (sous celle de la date) apparaît le nom du jour de la semaine dans la langue choisie. Si la langue choisie est dans un alphabet incompréhensible (russe ou arménien par exemple) et que dans la fonction il y a sa transcription latinisée, apparaît alors dans une cellule, juste au-dessous de celle avec le nom du jour de la semaine incompréhensible, cette même transcription latinisée ; ce qui aide singulièrement pour tenter de déchiffrer et prononcer (autant que faire se peut…) le nom du jour de la semaine. En effet, quand on ne connaît pas le russe, le coréen ou l’hébreu, bonne chance pour décrypter ! Enfin, si on le désire, on peut faire apparaître, dans une cellule à part, la traduction du jour de la semaine dans une langue de référence (choisie dans un ComboBox dédié du formulaire) que l’on comprend.

À noter que partout où l’on peut cliquer (pour déclencher évidemment quelque chose) apparaît le symbole du RollOver (main avec un doigt tendu).
Le mot de passe est « zaza ».
 

Pièces jointes

  • Nom Jour Semaine.xlsm
    304.4 KB · Affichages: 7