Fonction en OOOBasic ne renvoie pas la valeur

Fermé
Joshlebosh - 21 juin 2010 à 23:02
Bonjour,

Voilà j'au un petit problème avec une macro OOO destinée à me convertir la date et l'heure en lettres.
En fait l'utilisateur entre un entier correspondant à l'heure, et un autre entier correspondant aux minutes.

Une fois ces variables obtenues, j'en attribue les valeurs à des variables chaines.
Ensuite je lance la conversion des heures en lettres et des minutes en lettres.
Cela fonctionne parfaitement avec ma fonction pour les minutes mais impossible avec les heures.

Je vous laisse le code afin que vous puissiez me filer un coup de main si le coeur vous en dit:


Je reprécise que Heure et Minute sont des Integer
HeureL et MinuteL sont des string
Je dois conserver les deux types de variables car je doit me resservir des deux plus tard dans le code

Pour le moment le programme me renvoie une valeur numerique pour les heures.

Heure= oDialog2.GetControl("TbHeureI").value
	Minute = oDialog2.GetControl("TbMinuteI").value
	HeureL = Heure
	MinuteL = Minute
	ConversionHeuresL (HeureL)
	ConversionMinutesL (MinuteL)


Sub ConversionHeuresL (Heure as String)
	If Heure = "1" Then
		Heure = "une heure  "
		ElseIf Heure = "2" Then
		Heure = "deux heures "
		ElseIf Heure = "3" Then
		Heure = "trois heures "
		ElseIf Heure = "4" Then
		Heure = "quatre heures "
		ElseIf Heure = "5" Then
		Heure = "cinq heures "
		ElseIf Heure = "6" Then
		Heure = "six heures "
		ElseIf Heure = "7" Then
		Heure = "sept heures "
		ElseIf Heure = "8" Then
		Heure = "huit heures "
		ElseIf Heure = "9" Then
		Heure = "neuf heures "
		ElseIf Heure = "10" Then
		Heure = "dix heures "
		ElseIf Heure = "11" Then
		Heure = "onze heures "
		ElseIf Heure = "12" Then
		Heure = "douze heures "
		ElseIf Heure = "13" Then
		Heure = "treize heures "
		ElseIf Heure = "14" Then
		Heure = "quatorze heures "
		ElseIf Heure = "15" Then
		Heure = "quinze heures "
		ElseIf Heure = "16" Then
		Heure = "seize heures "	
		ElseIf Heure = "17" Then
		Heure = "dix sept heures "
		ElseIf Heure = "18" Then
		Heure = "dix huit heures"
		ElseIf Heure = "19" Then
		Heure = "dix neuf heures "
		ElseIf Heure = "20" Then
		Heure = "vingt heures "
		ElseIf Heure = "21" Then
		Heure = "vingt et une heures "
		ElseIf Heure = "22" Then
		Heure = "vingt deux heures "
		ElseIf Heure = "23" Then
		Heure = "vingt trois heures "
		Else Heure = "minuit " 
EndIf
End Sub



Sub ConversionMinutesL (Minute as String)
If Minute = "1" Then
	Minute = "une "
		ElseIf Minute = "2" Then
			Minute = "deux "
			ElseIf Minute = "3" Then
				Minute = "trois "
				ElseIf Minute = "4" Then
					Minute = "quatre "
					ElseIf Minute = "5" Then
						Minute = "cinq "
						ElseIf Minute = "6" Then
							Minute = "six "
							ElseIf Minute = "7" Then
								Minute = "sept "
								ElseIf Minute = "8" Then
									Minute = "huit "
									ElseIf Minute = "9" Then
										Minute = "neuf "
										ElseIf Minute = "10" Then
											Minute = "dix "
											ElseIf Minute = "11" Then
												Minute = "onze "
												ElseIf Minute = "12" Then
													Minute = "douze "
													ElseIf Minute = "13" Then
														Minute = "treize "
														ElseIf Minute = "14" Then
															Minute = "quatorze "
															ElseIf Minute = "15" Then
																Minute = "quinze "
																ElseIf Minute = "16" Then
																	Minute = "seize "
																	ElseIf Minute = "17" Then
																		Minute = "dix sept "
																		ElseIf Minute = "18" Then
																			Minute = "dix huit"
																			ElseIf Minute = "19" Then
																				Minute = "dix neuf "
																				ElseIf Minute = "20" Then
																					Minute = "vingt "
																					ElseIf Minute = "21" Then
																						Minute = "vingt et une "
																						ElseIf Minute = "22" Then
																							Minute = "vingt deux "
																							ElseIf Minute = "23" Then
																								Minute = "vingt trois "
																									ElseIf Minute = "24" Then
																								Minute = "vingt quatre "
																								ElseIf Minute = "25" Then
																								Minute = "vingt cinq "
																								ElseIf Minute = "26" Then
																								Minute = "vingt six "
																								ElseIf Minute = "27" Then
																								Minute = "vingt sept "
																								ElseIf Minute = "28" Then
																								Minute = "vingt huit "
																								ElseIf Minute = "29" Then
																								Minute = "vingt neuf "
																								ElseIf Minute = "30" Then
																								Minute = "trente "
																								ElseIf Minute = "31" Then
																								Minute = "trente et une "
																								ElseIf Minute = "32" Then
																								Minute = "trente deux "
																								ElseIf Minute = "33" Then
																								Minute = "trente trois "
																								ElseIf Minute = "34" Then
																								Minute = "trente quatre "
																								ElseIf Minute = "35" Then
																								Minute = "trente cinq "
																								ElseIf Minute = "36" Then
																								Minute = "trente six "
																								ElseIf Minute = "37" Then
																								Minute = "trente sept "
																								ElseIf Minute = "38" Then
																								Minute = "trente huit "
																								ElseIf Minute = "39" Then
																								Minute = "trente neuf "
																								ElseIf Minute = "40" Then
																								Minute = "quarante "
																								ElseIf Minute = "41" Then
																								Minute = "quarante et une "
																								ElseIf Minute = "42" Then
																								Minute = "quarante deux "
																								ElseIf Minute = "43" Then
																								Minute = "quarante trois "
																								ElseIf Minute = "44" Then
																								Minute = "quarante quatre "
																								ElseIf Minute = "45" Then
																								Minute = "quarante cinq "
																								ElseIf Minute = "46" Then
																								Minute = "quarante six "
																								ElseIf Minute = "47" Then
																								Minute = "quarante sept "
																								ElseIf Minute = "48" Then
																								Minute = "quarante huit "
																								ElseIf Minute = "49" Then
																								Minute = "quarante neuf "
																								ElseIf Minute = "50" Then
																								Minute = "cinquante "
																								ElseIf Minute = "51" Then
																								Minute = "cinquante et une "
																								ElseIf Minute = "52" Then
																								Minute = "cinquante deux "
																								ElseIf Minute = "53" Then
																								Minute = "cinquante trois "
																								ElseIf Minute = "54" Then
																								Minute = "cinquante quatre "
																								ElseIf Minute = "55" Then
																								Minute = "cinquante cinq "
																								ElseIf Minute = "56" Then
																								Minute = "cinquante six "
																								ElseIf Minute = "57" Then
																								Minute = "cinquante sept "
																								ElseIf Minute = "58" Then
																								Minute = "cinquante huit "
																								ElseIf Minute = "59" Then
																								Minute = "cinquante neuf "
																								Else Minute = ""
		End If
End Sub