G
GClaire
Guest
Re, a toutes et tous
Je remet un post, qui est plus ou moins lié a ce post.
<http://www.excel-downloads.com/html/French/forum/messages/1_127146_127146.htm>
J'envois la valeur minimun d'heures dans la cellule (AX31) avec le code suivant, en partie donné par @Thierry, merci a lui :
Private Sub ValiderHeuresMiniMumJours_Click()
Dim TheNum As Byte
Dim i
TheDate = Month(Date)
TheNum = CByte(Month(Date))
If HeuresMiniMumJours = "" Then
MsgBox "Veuillez entrer une durée minimum de garde !!!", vbCritical, "Erreur à la validation"
HeuresMiniMumJours.SetFocus
Exit Sub
End If
MsgBox "Les données seront modifié pour la période restante de : " & _
(Worksheets(TheNum).Name) & " à " & (Worksheets(12).Name)
For i = TheNum To 12
With Worksheets(i)
.Range("AX31") = HeuresMiniMumJours.Value
End With
Next i
Unload Me
End Sub
et pour le format du TextBox :
Private Sub HeuresMiniMumJours_Enter()
HeuresMiniMumJours = format(HeuresMiniMumJours, "#,##0.00")
End Sub
Private Sub HeuresMiniMumJours_Exit(ByVal Cancel As MSForms.ReturnBoolean)
HeuresMiniMumJours = format(HeuresMiniMumJours, "#,##0.00")
End Sub
Donc si je garde, la valeur envoyée de la sorte, les heures supplémentaires (Supérieur a 5,50) ne sont pas comptées (Sauf pour les jours sans gardes), par contre si je tape dans cette cellule manuellement la valeur 5,50, cela fonctinne.
Donc avec Jean-Marie, m'a dit que cela venais d'un problème de type (1 ou 2).
Et m'as sugérer de modifier mon code de cette manière:
.Range("AX31") = HeuresMiniMumJours.Value
par
.Range("AX31") = Val (HeuresMiniMumJours)
Chose que j'ai faite, mais le problème et que la valeur retournée dans la cellule est 5,00 pour la valeur saisie dans le TextBox 5,50
Ce que me disait Jean-Marie est que par ce code je suis obligé de saisir dans le TextBox 5.50 au lieu de 5,50, car VBA ne comprends pas le point "." (si j'ai bien compris)
Comment puis-je faire, pour remédier a cela?
Merci d'avance, G'Claire
Je remet un post, qui est plus ou moins lié a ce post.
<http://www.excel-downloads.com/html/French/forum/messages/1_127146_127146.htm>
J'envois la valeur minimun d'heures dans la cellule (AX31) avec le code suivant, en partie donné par @Thierry, merci a lui :
Private Sub ValiderHeuresMiniMumJours_Click()
Dim TheNum As Byte
Dim i
TheDate = Month(Date)
TheNum = CByte(Month(Date))
If HeuresMiniMumJours = "" Then
MsgBox "Veuillez entrer une durée minimum de garde !!!", vbCritical, "Erreur à la validation"
HeuresMiniMumJours.SetFocus
Exit Sub
End If
MsgBox "Les données seront modifié pour la période restante de : " & _
(Worksheets(TheNum).Name) & " à " & (Worksheets(12).Name)
For i = TheNum To 12
With Worksheets(i)
.Range("AX31") = HeuresMiniMumJours.Value
End With
Next i
Unload Me
End Sub
et pour le format du TextBox :
Private Sub HeuresMiniMumJours_Enter()
HeuresMiniMumJours = format(HeuresMiniMumJours, "#,##0.00")
End Sub
Private Sub HeuresMiniMumJours_Exit(ByVal Cancel As MSForms.ReturnBoolean)
HeuresMiniMumJours = format(HeuresMiniMumJours, "#,##0.00")
End Sub
Donc si je garde, la valeur envoyée de la sorte, les heures supplémentaires (Supérieur a 5,50) ne sont pas comptées (Sauf pour les jours sans gardes), par contre si je tape dans cette cellule manuellement la valeur 5,50, cela fonctinne.
Donc avec Jean-Marie, m'a dit que cela venais d'un problème de type (1 ou 2).
Et m'as sugérer de modifier mon code de cette manière:
.Range("AX31") = HeuresMiniMumJours.Value
par
.Range("AX31") = Val (HeuresMiniMumJours)
Chose que j'ai faite, mais le problème et que la valeur retournée dans la cellule est 5,00 pour la valeur saisie dans le TextBox 5,50
Ce que me disait Jean-Marie est que par ce code je suis obligé de saisir dans le TextBox 5.50 au lieu de 5,50, car VBA ne comprends pas le point "." (si j'ai bien compris)
Comment puis-je faire, pour remédier a cela?
Merci d'avance, G'Claire