Bonjour le forum,
Un utilisateur a besoin d'entrer dans des cellules (affichage : [h]:mm) un nombre d'heures hebdomadaires (typiquement : 35:00 ou 36:30).
Afin de ne pas planter les calculs et les macros qui tournent derrière, je demande à avoir une saisie décimale de ce nombre (soit 36,5 pour 36h et 30 min).
Comme il y a souvent des soucis entre la chaise et l'écran (et j'en suis un bon exemple 😉😉 ), je mets en place un contrôle de saisie dans le worksheet_change, mais petit souci : si la saisie se fait en heures (35:30 par ex), Excel a déjà transformé cette saisie en 1,4791666667), et donc forcément ma fonction instr(Target,":") eh ben ça marche pô....
	
	
	
	
	
		
Tester la présence d'une virgule ne sert à rien, puisqu'elle est présente (sauf à minuit...). Est-ce que quelqu'un aurait une petite idée de comment faire ???
Merci d'avance,
	
		
			
		
		
	
				
			Un utilisateur a besoin d'entrer dans des cellules (affichage : [h]:mm) un nombre d'heures hebdomadaires (typiquement : 35:00 ou 36:30).
Afin de ne pas planter les calculs et les macros qui tournent derrière, je demande à avoir une saisie décimale de ce nombre (soit 36,5 pour 36h et 30 min).
Comme il y a souvent des soucis entre la chaise et l'écran (et j'en suis un bon exemple 😉😉 ), je mets en place un contrôle de saisie dans le worksheet_change, mais petit souci : si la saisie se fait en heures (35:30 par ex), Excel a déjà transformé cette saisie en 1,4791666667), et donc forcément ma fonction instr(Target,":") eh ben ça marche pô....
		VB:
	
	
	If Target.Column = 5 Then 'Durée hebdomadaire
    If Not IsNumeric(Target) Then
        MsgBox "Saisie invalide"
        Target.ClearContents
        GoTo fin
    End If
    If InStr(Target, ":") <> 0 Then
        MsgBox "Saisie décimale uniquement":
        Target.ClearContents
        GoTo fin
    End If
    If Not IsEmpty(Target) Then Target = Int(Target) & ":" & Round((Target - Int(Target)) * 60, 0)
    Target.Offset(0, 1).Select
    GoTo fin
End IfMerci d'avance,
 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		