Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
			
		
		
			
				
																			
								Pascal Vernie 							 
									
		Messages :  127  		Inscription :  mar. 15/mars/2005 16:37 		
		
						
						
		 
		
						
						
													
							
						
									
						Message 
					 
								par Pascal Vernie   »  jeu. 23/nov./2006 16:28 
			
			
			
			
			Bonjour à tous
Pourquoi ce code :
Code : Tout sélectionner 
mini$ = "-0.20"
maxi$ = "+1.00"
mini = ValF(mini$)
maxi = ValF(maxi$)
resultat.f = (mini + maxi)/2
Debug resultat.f
me donne 0.5 comme resultat au lieu de 0.4
merci de votre aide.
Pascal
 
			
			
									
									
						 
		 
				
		
		 
	 
				
			
		
		
			
				
								Jacobus 							 
									
		Messages :  1579  		Inscription :  mar. 06/avr./2004 10:35 		
		
											
							
				Contact : 
				
			 
				
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Jacobus   »  jeu. 23/nov./2006 16:47 
			
			
			
			
			Code : Tout sélectionner 
mini$ = "-0.20" 
maxi$ = "+1.00" 
mini = ValF(mini$) :Debug mini
maxi = ValF(maxi$) :Debug maxi 
Resultat.f = (mini + maxi)/2 
Debug Resultat.f
tu as la réponse...
 
			
			
									
									Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
						 
		 
				
		
		 
	 
	
						
		
		
			
				
																			
								Dorian 							 
									
		Messages :  489  		Inscription :  mar. 15/mars/2005 15:33 		
		
						
						
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Dorian   »  jeu. 23/nov./2006 16:55 
			
			
			
			
			Car tes variables mini et maxi sont entières, lorsque le prog met les valeurs dedans, ils les arrondis. 
 
Il faut les déclarer en float : 
mini.f ... 
maxi.f ...
			
			
									
									
						 
		 
				
		
		 
	 
	
						
		
		
			
				
																			
								Backup 							 
									
		Messages :  14526  		Inscription :  lun. 26/avr./2004 0:40 		
		
						
						
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Backup   »  jeu. 23/nov./2006 16:59 
			
			
			
			
			oui maxi et mini ne sont pas flottant deja !! 
 
Code : Tout sélectionner 
mini$ = "-0.20"
maxi$ = "+1.00"
mini.f =ValF(mini$) :Debug mini
maxi.f = ValF(maxi$) :Debug maxi
Resultat.f = (mini + maxi)/2
Debug Resultat.f
 
			
			
									
									
						 
		 
				
		
		 
	 
	
						
		
		
			
				
																			
								Pascal Vernie 							 
									
		Messages :  127  		Inscription :  mar. 15/mars/2005 16:37 		
		
						
						
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Pascal Vernie   »  jeu. 23/nov./2006 17:57 
			
			
			
			
			mini$ et maxi$ je les reccupère dans un fichier .txt. 
comment déclarer une variable text en flottant.
			
			
									
									
						 
		 
				
		
		 
	 
	
						
		
		
			
				
								Flype 							 
									
		Messages :  2431  		Inscription :  jeu. 29/janv./2004 0:26 		
		
											Localisation :  Nantes 
							
						
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Flype   »  jeu. 23/nov./2006 18:47 
			
			
			
			
			salut, 
 
dobro vient d'écrire exactement ce dont tu as besoin. tout est là.  
tu utilises ValF() et c'est bien ! c'est exactement ce qu'il faut faire pour recuperer ta valeur en 'flottant' depuis une variable texte. 
par contre il faut affecter la valeur reçue par ValF() dans une variable flottante ( ou double avec ValD ).
			
			
									
									
						 
		 
				
		
		 
	 
	
						
		
		
			
				
																			
								Dorian 							 
									
		Messages :  489  		Inscription :  mar. 15/mars/2005 15:33 		
		
						
						
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Dorian   »  jeu. 23/nov./2006 18:57 
			
			
			
			
			Pascal Vernie a écrit : mini$ et maxi$ je les reccupère dans un fichier .txt. 
comment déclarer une variable text en flottant.
C'est pas ceux là mais les 2 du dessous.
D'où l'avantage d'avoir des nom de variables bien distincts ^^. 
 
			
			
									
									
						 
		 
				
		
		 
	 
	
						
		
		
			
				
																			
								Pascal Vernie 							 
									
		Messages :  127  		Inscription :  mar. 15/mars/2005 16:37 		
		
						
						
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Pascal Vernie   »  jeu. 23/nov./2006 19:15 
			
			
			
			
			Désolé ce soir je dois être HS mais le code suivant donne toujours 0.5. 
 
mini$= "-0,20" 
maxi$ = "+1,00" 
a.d = ValD(mini$) 
b.d = ValD(maxi$) 
resultat.d = (a.d + b.d)/2 
Debug resultat.d 
 
Je vais manger cela va peut-être me remettre le cerveau en place. 
Pascal
			
			
									
									
						 
		 
				
		
		 
	 
	
						
		
		
			
				
								Flype 							 
									
		Messages :  2431  		Inscription :  jeu. 29/janv./2004 0:26 		
		
											Localisation :  Nantes 
							
						
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Flype   »  jeu. 23/nov./2006 19:19 
			
			
			
			
			et si tu mettais des points '.' au lieu de virgules ',' dans tes chaines ?
si tu bosses depuis un fichier texte dans lequel toutes les valeurs flottantes sont avec une virgule (fichier CSV Excel par ex ?) utilise la fonction ReplaceString()
par exemple comme çà :
Code : Tout sélectionner 
Macro P(source)
  ReplaceString(source, ",", ".")
EndMacro
mini$= "-0,20"
maxi$ = "+1,00"
a.d = ValD(P(mini$))
b.d = ValD(P(maxi$))
resultat.d = (a.d + b.d)/2
Debug resultat.d 
 
			
			
													
					Dernière modification par 
Flype  le jeu. 23/nov./2006 19:23, modifié 1 fois.
									
 
			
									
						 
		 
				
		
		 
	 
	
						
		
		
			
				
																			
								Backup 							 
									
		Messages :  14526  		Inscription :  lun. 26/avr./2004 0:40 		
		
						
						
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Backup   »  jeu. 23/nov./2006 19:22 
			
			
			
			
			Pascal Vernie a écrit : Désolé ce soir je dois être HS mais le code suivant donne toujours 0.5. 
 
mini$= "-0,20" 
maxi$ = "+1,00" 
a.d = ValD(mini$) 
b.d = ValD(maxi$) 
resultat.d = (a.d + b.d)/2 
Debug resultat.d 
 
Je vais manger cela va peut-être me remettre le cerveau en place. 
Pascal
 
Code : Tout sélectionner 
mini$= "-0,20"
maxi$ = "+1,00"
mini$=ReplaceString(mini$,",",".")
maxi$=ReplaceString(maxi$,",",".")
a.d = ValD(mini$)
b.d = ValD(maxi$)
Resultat.d = (a.d + b.d)/2
Debug Resultat.d 
 
			
			
									
									
						 
		 
				
		
		 
	 
	
						
		
		
			
				
								Flype 							 
									
		Messages :  2431  		Inscription :  jeu. 29/janv./2004 0:26 		
		
											Localisation :  Nantes 
							
						
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Flype   »  jeu. 23/nov./2006 19:25 
			
			
			
			
			ah - pardon dobro - meme idée 
 
			
			
									
									
						 
		 
				
		
		 
	 
	
						
		
		
			
				
																			
								Pascal Vernie 							 
									
		Messages :  127  		Inscription :  mar. 15/mars/2005 16:37 		
		
						
						
		 
		
						
						
						 
			 
													
							
						
									
						Message 
					 
								par Pascal Vernie   »  jeu. 23/nov./2006 19:34 
			
			
			
			
			Le Grand-pére vous remercie de vos réponses, ce n'est pas facile de s'occuper des deux petites "teignes" et de réfléchir lorsque la Grand-mére n'est pas là. 
Dans mon dernier code j'avais effectivement laissé les virgules au lieu de points. 
C'est pas tout ça mais les "Lustrucru" vont être trop cuites, j'y vais sinon ça va barder. 
Merci encore  
Amitiés 
Pascal